Índice:
- Etapa 1: antes de começar …
- Etapa 2: Regras do jogo de adivinhação
- Etapa 3: O Programa de Blocos: Variáveis
- Etapa 4: as funções
- Etapa 5: a inicialização do programa e os eventos de agitação e manipuladores de eventos
- Etapa 6: a mensagem de inicialização e funções de desafio
- Etapa 7: Evento de botão um clique - responda ao desafio do BITs
- Etapa 8: Evento de clique no botão B - Enviar resposta ao desafio BITs
- Etapa 9: Ganhar / Perder e Resto das Funções
- Etapa 10: O Simulador e o Código
Vídeo: O que o bit está pensando? Faça um jogo de adivinhação simples com o Microbit da BBC !: 10 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
Peguei alguns Microbits da BBC depois de ler críticas positivas sobre eles em vários artigos online.
Na tentativa de me familiarizar com o BIT, brinquei com o Microsoft Blocks Editor online por algumas horas e criei um jogo de adivinhação simples.
Neste IBLE vamos falar sobre as regras do jogo e navegar pelas funções montadas em diferentes blocos de código no Editor de Blocos.
Finalmente, o público animado pode navegar até o simulador online e experimentar este jogo simples.
Vamos começar.
Etapa 1: antes de começar …
O Hardware
A placa BBC Microbit é fácil de se familiarizar. Para este IBLE, tudo o que você precisa saber é que é uma pequena placa com 2 botões, um conjunto de pequenos LEDs e um soquete micro-USB que atua como fonte de alimentação e um meio para carregar um programa na placa.
A matriz de pequenos LEDs pode ser programada para acender em padrões diferentes.
Observação:
Você não precisa da placa física para este IBLE! O site BBC Microbit tem um simulador online para testar o código que você desenvolve online.
O software
Este IBLE não fornece detalhes sobre como começar a usar o BBC Microbit e / ou o Online Blocks Editor.
O público é encorajado a explorar este recurso BBC Micorbit antes de prosseguir para as próximas etapas.
BBC Microbit foi projetado para ensinar programação usando uma abordagem muito amigável e, portanto, familiaridade com outra linguagem de programação é bom ter, mas não é obrigatório, especialmente se você for usar o Editor de Blocos da Microsoft para aprender programação.
No entanto, ainda não encontrei um produto tão fácil de começar do que o Microbit da BBC, visto que possuo e brinco com várias outras plataformas de programação de microcontroladores.
Etapa 2: Regras do jogo de adivinhação
As regras do jogo são as seguintes:
- Ao ligar, o BIT pensa em um número e desafia o jogador humano a adivinhar qual é esse número, imprimindo uma mensagem em seu painel de LED e espera por uma resposta
- O jogador adivinha e pressiona o Botão Esquerdo (A) tantas vezes quanto a resposta - Exemplo, se o jogador acertou 5, o botão é pressionado 5 vezes
- Para enviar a resposta ao BIT, o jogador pressiona o Botão Direito (B) uma vez!
- Se o palpite dos jogadores estiver certo, então o jogador marca um ponto, se não, o BIT ganha um ponto
- Se um jogador adivinhou um número fora da faixa, o outro jogador marca um ponto - o BIT exibe um grande X em seu display de LED e prossegue para adivinhar um novo número e repetir o desafio; Exemplo: Se o BIT desafiou você a adivinhar um número entre 1 e 5, e você adivinhou 6, ou se você adivinhou ZERO (simplesmente pressionando o Botão B antes de pressionar o Botão A), então essa rodada é invalidada
- O desafio-resposta continua até que um dos jogadores marque o máximo de pontos permitidos
Começando um novo jogo:
Para começar um novo jogo a qualquer momento, simplesmente dê uma sacudida no BIT! Ou simplesmente desconecte e reconecte a alimentação.
Etapa 3: O Programa de Blocos: Variáveis
O programa usa algumas variáveis nomeadas para corresponder às suas funções listadas abaixo. Estas variáveis podem ser criadas clicando na guia Programação de Variáveis no Editor de Blocos
BIT_SCORE - Mantém o controle dos pontos marcados pelo BIT
bitGuessed - Esta variável contém o valor aleatório adivinhado pelo BIT
CHECK - quando definido como True, o BIT verifica se a estimativa dos jogadores é igual à estimativa dos BITs
GAME_RANGE - Este número limita o quão alto o BIT ou um jogador pode adivinhar
Exemplo: se definido como 6, qualquer um dos jogadores pode adivinhar de 1 a 6
MSG - Uma string que é alterada para exibir mensagens diferentes com base no contexto do jogo
PLAYER_SCORE - mantém o controle dos pontos marcados pelo jogador
playerGuess - O número adivinhado pelo jogador é registrado nesta variável
NOTA
A primeira variável chamada item é uma variável geral e padrão e pode ser ignorada
Etapa 4: as funções
Como parte do processo de aprendizagem e para melhor organização, o código foi organizado em uma série de funções que podiam ser chamadas ou invocadas no programa principal. Assim como variáveis, as funções podem ser criadas e acessadas clicando na guia Avançado> Programação de funções.
Aqui abaixo está uma breve descrição das funções:
announceWinner - Esta função imprime a mensagem Winning dirigida ao jogador vencedor
doChallenge - A função que o BIT chama para adivinhar um número e representar um desafio para o jogador
showBadGuess - Exibe uma mensagem com um grande X no painel de LED se algum dos jogadores adivinhou fora do intervalo permitido
showLose - é chamado se o BIT ganhar uma rodada de desafio sobre o jogador
showMessage - apresenta uma mensagem para desafiar o jogador a adivinhar um número dentro de um intervalo definido
showWin - é chamado quando o jogador ganha a rodada de adivinhação sobre o BIT
Etapa 5: a inicialização do programa e os eventos de agitação e manipuladores de eventos
Os "on start" e "on shake" são manipuladores de eventos que são chamados respectivamente quando os eventos "start" e "shake" acontecem. Conforme visto no código do Blocks, o que acontece quando esses dois manipuladores de eventos são chamados é quase o mesmo que em:
- A função showMessage () é chamada para mostrar a mensagem quando o jogo começa
- Há uma breve pausa de 650 milissegundos depois que a mensagem é exibida
- A função doChallenge () é chamada, na qual o BIT adivinha um número e espera que o jogador humano envie uma estimativa
Abordaremos as duas funções na próxima etapa.
Dito isso, há diferenças fundamentais entre os manipuladores de eventos "on start" e "on shake":
- O manipulador de eventos "on start" é executado toda vez que o BIT é inicializado - como ao desconectar e reconectar a energia do BIT
- Certas coisas que devem acontecer apenas uma vez quando o programa é inicializado são definidas no "on start" e em nenhum outro lugar em todo o programa
- Uma delas é inicializar a variável GAME_RANGE - neste caso, ela é inicializada em 6, o que significa que os jogadores podem adivinhar um número entre 1 e 6
- Como o "on start" é uma função BIT básica, não é de se admirar que ele possa ser acessado na guia Basic programming do Blocks Editor
- O "on shake", por outro lado, é um manipulador de eventos que é chamado sempre que o usuário fornece uma entrada para o BIT na forma de um aperto rápido
- Portanto, o manipulador de eventos "on shake" pode ser encontrado dentro da guia Input programming do Blocks Editor
Etapa 6: a mensagem de inicialização e funções de desafio
A função showMessage () Startup Message é uma função simples que limpa a paleta de LED do BITs com um comando de tela limpa e exibe uma mensagem de rolagem desafiando o jogador a adivinhar um número.
Conforme visto no bloco de funções showMessage, alguns pedaços fixos de string são anexados à variável GAME_RANGE para exibir uma mensagem simples que diz:
Adivinhe 0 - 6!
A função doChallenge () é chamada no início de cada rodada de desafio e, portanto, faz o seguinte conforme visto no bloco de funções doChallenge:
- Inicializa a variável playerGuess para zero antes de aceitar uma nova entrada do jogador humano
- Inicializa a variável CHECK como falsa - o que significa que a rodada está prestes a começar e ainda não é hora de comparar os números adivinhados por ambos os jogadores
- Em seguida, e mais significativo, o BIT escolhe um número aleatório dentro do intervalo definido por GAME_RANGE e o registra na variável bitGuessed
- Finalmente, a paleta de LEDs é iluminada com um símbolo de ponto de interrogação solicitando ao jogador humano uma entrada em resposta ao desafio dos BITs!
Observação
Se o valor da variável GAME_RANGE for alterado conforme discutido na etapa anterior, seu jogo pode parecer e agir um pouco diferente.
A função de junção é uma função de string e pode ser acessada na guia Programação de texto do Editor de blocos
Etapa 7: Evento de botão um clique - responda ao desafio do BITs
Assim que o grande ponto de interrogação aparecer na tela de LED dos BITs, responder ao desafio para o jogador humano é simplesmente fazer o seguinte:
- Adivinhe qual número o BIT pode estar pensando entre 0 e 6
- Pressione o Botão A quantas vezes sua resposta for - Exemplo se sua resposta for 3, pressione o Botão A 3 vezes
Obviamente, pressionar o botão é uma entrada do usuário e, portanto, o manipulador de eventos "no botão" pode ser acessado por meio da guia de programação de entrada do editor de blocos. Cada vez que o usuário pressiona o Botão A, este manipulador de eventos faz o seguinte:
- Aumente o valor da variável playerGuess em 1, desde que esteja dentro do limite GAME_RANGE (6 neste caso)
- Se o jogador enviar 7 ou mais, a suposição é invalidada e o playerGuess é redefinido para zero, essencialmente invalidando a suposição do jogador
A próxima ação é enviar a resposta ao desafio, que examinaremos na próxima etapa.
Etapa 8: Evento de clique no botão B - Enviar resposta ao desafio BITs
O jogador humano envia a resposta ao BIT pressionando o Botão B uma vez. Uma série de etapas acontece no manipulador de eventos "ao clicar" do Botão B assim que o BIT recebe a resposta do jogador conforme indicado pelos marcadores de código na imagem:
- O sinalizador CHECK é definido como True - um sinal para o BIT comparar sua estimativa com a dos jogadores
- A pontuação prossegue apenas se ambos os jogadores tiverem adivinhado números maiores que Zero e dentro do limite GAME_RANGE (de 6) e, caso contrário, a função showBadGuess () é chamada - o jogador de boa estimativa ganha um ponto, e o jogador de má estimativa perde um!
- Se o palpite dos jogadores corresponder ao dos BITs, a função showWin () é chamada - o jogador ganha esta rodada!
- Caso contrário, a função showLose () é chamada - o BIT vence esta rodada!
- Uma verificação é realizada no final de cada rodada pela função announceWinner () para ver se um dos dois jogadores ganhou ao marcar 3 pontos - em caso afirmativo, o jogo é encerrado e o vencedor final é anunciado e todas as pontuações e mensagens são Redefinir
- O BIT reinicia o jogo emitindo um desafio chamando a função doChallenge () e aguarda a resposta do jogador e o processo se repete
Discutiremos as novas funções nas próximas etapas.
Esperar! Como você adivinha ZERO?
- Se você olhar para a função matemática random (), verá que seu valor inicial é zero e não pode ser alterado.
- O BIT é, portanto, livre para adivinhar um Zero e desafiar o jogador como resultado desta limitação
- Da mesma forma, o jogador humano pode enviar uma estimativa Zero simplesmente clicando no Botão B sem clicar no Botão A primeiro!
- Se isso for permitido, o jogador humano não precisa fazer nenhum esforço para jogar e isso não faz sentido!
- Portanto, essa limitação foi compensada pelo item nº 2. discutido acima
Etapa 9: Ganhar / Perder e Resto das Funções
Todas essas funções são chamadas pelo manipulador de eventos "ao clicar" do Botão B, conforme visto na etapa anterior.
Essas funções são bastante diretas e, a essa altura, você deve estar se familiarizando com a natureza intuitiva e narrativa do código criado por uma combinação de variáveis nomeadas apropriadamente e os atributos visuais do Editor de Blocos.
- A função showWin () exibe uma mensagem que indica que o jogador ganhou esta rodada de desafio e incrementa a variável PLAYER_SCORE em 1
- Da mesma forma, a função showLose () exibe se o jogador fez um palpite errado e atribui um ponto ao BIT incrementando a variável BIT_SCORE em 1
- A função showBadGuess () exibe um grande X na tela indicando que um dos jogadores deu um palpite errado (de 0 ou maior que 6) - o jogador ruim, neste caso, perde um ponto e o outro marca um ponto!
E, por último, a função announceWinner () executa a tarefa de anunciar quem é o grande vencedor após 3 rodadas de desafio / resposta seguidas por:
- Redefinindo as variáveis de pontuação PLAYER_SCORE e BIT_SCORE
- Fazendo uma breve pausa e iniciando um novo jogo chamando a função de inicialização showMessage () discutida na etapa anterior (6) deste IBLE
Finalmente, vamos ao simulador e ao código!
Etapa 10: O Simulador e o Código
O código está sendo executado no simulador online localizado aqui
- O simulador está localizado na parte inferior esquerda da página
- Como alternativa, o botão Download pode ser usado para baixar o código, caso você tenha um Microbit da BBC à mão
- Como mencionado no início do IBLE, você não precisa de um Microbit BBC para construir o código no Editor de Blocos ou para simular e testar seu código, embora isso não funcione para pessoas curiosas como eu!
Uma nota sobre o botão Editar
- Se você observou, o código é de domínio público e há uma maneira de editá-lo usando o botão Editar no canto superior direito
- No entanto, eu sinceramente solicito que você faça uma cópia deste código e altere-o para atender às suas necessidades, de modo que a versão original seja preservada no interesse deste IBLE
Obrigado! E feliz codificação !!!:-)
Recomendado:
Jogo de quebra-cabeça da memória usando um BBC MicroBit: 7 etapas
Jogo de quebra-cabeça da memória usando um BBC MicroBit: Se você não sabe o que é um BBC MicroBit, ele é basicamente um dispositivo muito pequeno que você pode programar para ter entradas e saídas. Mais ou menos como um Arduino, mas mais elaborado. O que eu realmente adorei no MicroBit é que ele tem duas entradas integradas b
Um jogo de adivinhação simples - Python + XBees + Arduino: 10 etapas
Um jogo de adivinhação simples - Python + XBees + Arduino: é assim que o jogo funciona: você tem 4 tentativas para adivinhar uma letra entre ‘a’ - ‘h’ - > Adivinhe a letra certa: Você venceu! ? - > Adivinhe a letra errada: Fim do jogo? - > Adivinhe algum outro caractere fora de 'a' - 'h': Fim do jogo? Seu Arduino permitirá que você
Jogo simples de adivinhação de números em Python: 11 etapas
Jogo simples de adivinhação de números em Python: Neste tutorial, ensinaremos como criar um jogo simples de adivinhação de números em Python no aplicativo Pycharm. Python é uma linguagem de script ótima tanto para iniciantes quanto para especialistas. O estilo de codificação em Python é fácil de ler e seguir
Jogo de adivinhação Python: 9 etapas
Jogo de adivinhação Python: As instruções a seguir fornecem orientação passo a passo sobre como escrever um programa usando o módulo aleatório e criar um jogo de adivinhação que interage com o usuário. Para começar, você precisa ter o python instalado no seu computador e também op
Jogo de adivinhação de cores remoto IR: 3 etapas
Jogo de adivinhação de cores remoto IR: Neste instrutível, vou mostrar como controlar um led RGB usando um remoto IR e fazer um jogo divertido com ele