Primeiro passo: o projeto
O que é?
Um jogo de "batata quente" (ou pato quente) em grupo, via rádio.

Como funciona:
- Como o jogo Teleporte o pato, este também usa o rádio para "teleportar" um "pato" para outros micro:bits. Este jogo só funciona com 2 jogadores, pois envia a mesma mensagem a todos. Em breve você descobrirá que quase todos tinham um pato e qualquer um poderia teleportá-lo;
 - Se houver mais de 2 jogadores, é necessário que cada micro:bit possua uma maneira de escolher qual jogador irá receber o pato. Assim, o programa de cada jogador terá um número de identificação (ID) exclusivo, começando pelo número 1;
 - Armazenamos esta identificação em uma variável chamada ID, que você precisará alterar para 2, 3, 4 e assim por diante, para cada jogador — antes de instalar o programa nos micro:bits;
 - Defina a variável players com o número de participantes, garantindo que todos tenham a chance de "pegar" o pato. Quando os micro:bits são ligados, o programa mostra o número de identificação do respectivo jogador no visor LED, para que cada um saiba o seu número;
 - Para garantir que apenas o jogador que tem o pato possa se livrar dele, o programa só envia a mensagem quando você o sacode, se você tiver o pato. O programa controla isso usando uma variável booleana chamada hasDuck (temPato). Variáveis booleanas podem ter apenas dois valores: verdadeiro ou falso. No início, apenas o jogador 1 tem o pato, ninguém mais pode teleportá-lo;
 - Quando o jogador 1 sacode seu micro:bit, o programa gera um número aleatório entre 1 e o número de jogadores. Se o número aleatório não for igual ao seu próprio número de identificação, o programa envia o novo número por rádio, limpa a tela e muda o valor da sua variável hasDuck para falso;
 - Se o número aleatório for igual ao seu próprio ID, será preciso jogar novamente, mas isso é melhor que enviar o pato a si mesmo;
 - Se o seu micro:bit receber um número, ele verifica se ele é igual (corresponde) ao seu número de identificação. Se sim, parabéns! Agora você tem o pato. Um pato aparece no visor LED e sua variável hasDuck é alterada para True, o que significa que agora você pode teleportá-lo para outra pessoa;
 - Teleporte os patos de forma responsável: certifique-se de não deixar o seu micro:bit cair e não golpeie um amigo no meio da diversão.
 
Itens necessários:
- Três ou mais micro:bits;
 - Editor MakeCode ou Python;
 - Conjuntos de baterias (opcional);
 - Um grupo de pessoas para brincar.
 
Segundo passo: é hora de programar
1from microbit import *
2import radio
3import random
4
5radio.config(group=42)
6players = 3
7ID = 3
8display.show(ID)
9if ID == 1:
10    hasDuck = True
11else:
12    hasDuck = False
13radio.on()
14
15while True:
16    message = radio.receive()
17    if accelerometer.was_gesture('shake'):
18        if hasDuck:
19            sendTo = random.randint(1, players)
20            if sendTo != ID:
21                display.clear()
22                radio.send(str(sendTo))
23    if message:
24        if message == str(ID):
25            hasDuck = True
26            display.show(Image.DUCK)
27        else:
28            hasDuck = False
29    Terceiro passo: vamos deixar o código ainda melhor
- Mude o programa para enviar outras coisas em vez de patos;
 - Na versão atual, se o programa escolher um número aleatório igual ao seu próprio número de identificação, será necessário agitar novamente. Modifique o programa para que isso nunca aconteça. Para isso, pode haver mais de uma maneira de fazer;
 - O jogador 1 sempre tem o pato no início do jogo. Você conseguiria melhorar o programa para que o primeiro jogador com o pato seja escolhido aleatoriamente? Como você comunicaria isso ao micro:bit de cada jogador?
 
This content is published under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) licence.


