Tabla de contenido:
- Paso 1: antes de comenzar …
- Paso 2: Reglas del juego de adivinanzas
- Paso 3: El programa de bloques: variables
- Paso 4: las funciones
- Paso 5: Inicio del programa y eventos de Shake y controladores de eventos
- Paso 6: El mensaje de inicio y las funciones de desafío
- Paso 7: El botón de un evento de clic: ¡Responda al desafío de BITs
- Paso 8: Evento de clic del botón B - ¡Envíe su respuesta al desafío de BITs
- Paso 9: las funciones ganar / perder y el resto
- Paso 10: el simulador y el código
Video: ¿Qué es el pensamiento pequeño? ¡Haga un juego de adivinanzas simple con BBC Microbit !: 10 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
Recogí un par de BBC Microbits después de leer críticas positivas sobre ellos en varios artículos en línea.
En un intento por familiarizarme con el BIT, jugué con el Editor de bloques de Microsoft en línea durante un par de horas y se me ocurrió un simple juego de adivinanzas.
En este IBLE hablaremos sobre las reglas del juego y navegaremos por las funciones ensambladas en diferentes bloques de código en el Editor de Bloques.
Finalmente, el público emocionado puede navegar hasta el simulador en línea y probar este sencillo juego.
Empecemos.
Paso 1: antes de comenzar …
El hardware
Es fácil familiarizarse con la placa BBC Microbit. Para este IBLE, todo lo que necesita saber es que es una placa pequeña con 2 botones pulsadores, una serie de LED diminutos y una toma micro-USB que actúa como fuente de alimentación y un medio para cargar un programa en la placa..
La matriz de pequeños LED se puede programar para que se iluminen con diferentes patrones.
Nota:
¡No necesitas la placa física para este IBLE! El sitio de BBC Microbit tiene un simulador en línea para probar el código que desarrolla en línea.
El software
Este IBLE no entra en detalles sobre cómo empezar con BBC Microbit y / o Online Blocks Editor.
Se anima a la audiencia a explorar este recurso de BBC Micorbit antes de continuar con los siguientes pasos.
BBC Microbit ha sido diseñado para enseñar programación utilizando un enfoque muy fácil de usar y, por lo tanto, es bueno tener familiaridad con otro lenguaje de programación, pero no es obligatorio, especialmente si va a utilizar Microsoft Blocks Editor para aprender a programar.
Sin embargo, todavía no he encontrado un producto con el que sea tan fácil comenzar que el BBC Microbit, dado que poseo y juego con varias otras plataformas de programación de microcontroladores.
Paso 2: Reglas del juego de adivinanzas
Las reglas del juego son las siguientes:
- Al encenderse, el BIT piensa en un número y desafía al jugador humano a adivinar cuál es ese número imprimiendo un mensaje en su panel LED, y espera una respuesta.
- El jugador hace una suposición y presiona el botón izquierdo (A) tantas veces como la respuesta - Por ejemplo, si el jugador adivinó 5, entonces el botón se presiona 5 veces
- Para enviar la respuesta al BIT, el jugador presiona el botón derecho (B) una vez.
- Si los jugadores adivinan que es correcto, entonces el jugador anota un punto, si no, el BIT obtiene un punto
- Si un jugador adivinó un número fuera del rango, el otro jugador anota un punto: el BIT muestra una X grande en su pantalla LED y procede a adivinar un nuevo número y repite el desafío; Ejemplo: si el BIT lo desafió a adivinar un número entre 1 y 5, y adivinó 6, o si adivinó CERO (simplemente presionando el Botón B antes de presionar el Botón A), entonces esa ronda se invalida
- El desafío-respuesta continúa hasta que uno de los jugadores obtenga el máximo de puntos permitidos.
Iniciar un juego nuevo:
Para comenzar un nuevo juego en cualquier momento, ¡simplemente agite el BIT! O simplemente desconecte y vuelva a conectar la energía.
Paso 3: El programa de bloques: variables
El programa usa algunas variables nombradas para que coincidan con sus funciones enumeradas a continuación. Estas variables se pueden crear haciendo clic en la pestaña Programación de variables en el Editor de bloques.
BIT_SCORE: realiza un seguimiento de los puntos anotados por el BIT
bitGuessed: esta variable contiene el valor aleatorio adivinado por el BIT
COMPROBAR: cuando se establece en Verdadero, el BIT comprueba si la suposición de los jugadores es igual a la suposición de BIT.
GAME_RANGE: este número limita qué tan alto el BIT o un jugador pueden adivinar
Ejemplo: si se establece en 6, cualquiera de los jugadores puede adivinar del 1 al 6
MSG: una cadena que se cambia para mostrar diferentes mensajes según el contexto del juego
PLAYER_SCORE: realiza un seguimiento de los puntos anotados por el jugador
playerGuess: el número adivinado por el jugador se registra en esta variable
NOTA
La primera variable denominada elemento es una variable general y predeterminada y se puede ignorar
Paso 4: las funciones
Como parte del proceso de aprendizaje y para una mejor organización, el código se organizó en una serie de funciones que se podían llamar o invocar en el programa principal. Al igual que las variables, las funciones se pueden crear y acceder a ellas haciendo clic en la pestaña Avanzado> Programación de funciones.
A continuación se muestra una breve descripción de las funciones:
nounnerWinner: esta función imprime el mensaje ganador dirigido al jugador ganador
doChallenge: la función que el BIT llama para adivinar un número y representar un desafío para el jugador
showBadGuess: muestra un mensaje con una X enorme en el panel LED si alguno de los jugadores adivinó fuera del rango permitido
showLose - se llama si el BIT gana una ronda de desafío sobre el jugador
showMessage: presenta un mensaje para desafiar al jugador a adivinar un número dentro de un rango establecido
showWin: se llama cuando el jugador gana la ronda de adivinanzas sobre el BIT.
Paso 5: Inicio del programa y eventos de Shake y controladores de eventos
El "on start" y "on shake" son controladores de eventos que se llaman respectivamente cuando suceden los eventos "start" y "shake". Como se ve en el código de Blocks, lo que sucede cuando se llama a estos dos controladores de eventos es casi lo mismo que en:
- Se llama a la función showMessage () para mostrar el mensaje cuando comienza el juego
- Hay una breve pausa de 650 milisegundos después de que se muestra el mensaje.
- Se llama a la función doChallenge () en la que el BIT adivina un número y espera a que el jugador humano envíe una suposición
Cubriremos las dos funciones en el siguiente paso.
Dicho esto, existen diferencias fundamentales entre los controladores de eventos "on start" y "on shake":
- El controlador de eventos "on start" se ejecuta cada vez que se inicia el BIT, como al desconectar y volver a conectar la alimentación al BIT.
- Ciertas cosas que deben suceder solo una vez cuando el programa se inicia se definen en "al inicio" y en ninguna otra parte de todo el programa.
- Una de esas cosas es inicializar la variable GAME_RANGE; en este caso, se inicializa en 6, lo que significa que los jugadores pueden adivinar un número entre 1 y 6
- Como "al inicio" es una función BIT básica, no es de extrañar que se pueda acceder a ella desde la pestaña Programación básica del Editor de bloques.
- El "on shake", por otro lado, es un controlador de eventos que se llama cada vez que el usuario proporciona una entrada al BIT en forma de un batido rápido.
- Por lo tanto, el controlador de eventos "on shake" se puede encontrar dentro de la pestaña Programación de entrada del Editor de bloques.
Paso 6: El mensaje de inicio y las funciones de desafío
La función de mensaje de inicio showMessage () es una función simple que borra la paleta de LED de BIT con un comando de pantalla clara y muestra un mensaje de desplazamiento que desafía al jugador a adivinar un número.
Como se ve en el bloque de funciones showMessage, un par de piezas fijas de cadena se agregan juntas a la variable GAME_RANGE para mostrar un mensaje simple que dice:
¡Adivina 0 - 6!
La función doChallenge () se llama al comienzo de cada ronda de desafío y, por lo tanto, hace lo siguiente como se ve en el bloque de funciones doChallenge:
- Inicializa la variable playerGuess a cero antes de aceptar una nueva entrada del jugador humano
- Inicializa la variable CHECK a falso, lo que significa que la ronda está a punto de comenzar y aún no es el momento de comparar los números adivinados por ambos jugadores.
- A continuación, y lo más significativo, el BIT elige un número aleatorio dentro del rango definido por GAME_RANGE y lo registra en la variable bitGuessed.
- Finalmente, la paleta de LED se ilumina con un símbolo de interrogación que solicita al jugador humano una entrada en respuesta al desafío de los BIT.
Nota
Si el valor de la variable GAME_RANGE se cambia como se discutió en el paso anterior, su juego puede verse y actuar un poco diferente.
La función de unión es una función de cadena y se puede acceder a ella desde la pestaña Programación de texto del Editor de bloques.
Paso 7: El botón de un evento de clic: ¡Responda al desafío de BITs
Una vez que aparece el gran signo de interrogación en la pantalla LED de BIT, responder al desafío para el jugador humano es simplemente hacer lo siguiente:
- Adivina qué número podría estar pensando el BIT entre 0 y 6
- Presione el Botón A tantas veces como su respuesta sea - Por ejemplo, si su respuesta es 3, luego presione el Botón A 3 veces
Obviamente, presionar el botón es una entrada del usuario y, por lo tanto, se puede acceder al controlador de eventos "en el botón" a través de la pestaña Programación de entrada del editor de bloques. Cada vez que el usuario presiona el botón A, este controlador de eventos hace lo siguiente:
- Incrementa el valor de la variable playerGuess en 1 siempre que esté dentro del límite GAME_RANGE (6 en este caso)
- Si el jugador envía 7 o más, la conjetura se invalida y la conjetura del jugador se restablece a cero, esencialmente invalidando la conjetura del jugador.
La siguiente acción es enviar la respuesta al desafío, que analizaremos en el siguiente paso.
Paso 8: Evento de clic del botón B - ¡Envíe su respuesta al desafío de BITs
El jugador humano envía la respuesta al BIT presionando el Botón B una vez. Una serie de pasos suceden en el controlador de eventos "al hacer clic" del Botón B tan pronto como el BIT recibe la respuesta de los jugadores como lo indican los marcadores de código en la imagen:
- La bandera CHECK se establece en True, una señal para que el BIT compare su conjetura con la de los jugadores.
- La puntuación procede solo si ambos jugadores han adivinado números mayores que cero y dentro del límite GAME_RANGE (de 6) y, si no, se llama a la función showBadGuess (): el jugador con buena adivinación gana un punto y el jugador con mala adivinación pierde uno.
- Si los jugadores conjeturan coinciden con los de los BIT, se llama a la función showWin (): ¡el jugador gana esta ronda!
- Si no es así, se llama a la función showLose (): ¡el BIT gana esta ronda!
- Se realiza una verificación al final de cada ronda mediante la función publishWinner () para ver si uno de los dos jugadores ha ganado al anotar 3 puntos; si es así, el juego finaliza y se anuncia el ganador final y todos los puntajes y mensajes son Reiniciar
- El BIT reinicia el juego emitiendo un desafío llamando a la función doChallenge () y espera a que el jugador responda y el proceso se repite.
Discutiremos las nuevas funciones en los próximos pasos.
¡Esperar! ¿Cómo adivinas CERO?
- Si observa la función matemática aleatoria (), puede ver que su valor inicial está establecido en cero y no se puede cambiar.
- Por lo tanto, el BIT es libre de adivinar un cero y desafiar al jugador como resultado de esta limitación.
- De manera similar, el jugador humano puede enviar un intento de Cero simplemente haciendo clic en el Botón B sin hacer clic en el Botón A primero.
- Si esto está permitido, el jugador humano no tiene que hacer ningún esfuerzo para jugar y eso no tiene sentido.
- Por lo tanto, esta limitación ha sido compensada por Bullet # 2. discutido arriba
Paso 9: las funciones ganar / perder y el resto
Todas estas funciones son llamadas por el controlador de eventos "al hacer clic" del Botón B, como se vio en el paso anterior.
Estas funciones son bastante sencillas y, en este momento, debería estar familiarizado con la naturaleza intuitiva y narrativa del código creado por una combinación de variables con nombres adecuados y los atributos visuales del Editor de bloques.
- La función showWin () muestra un mensaje que indica que el jugador ha ganado esta ronda de desafío e incrementa la variable PLAYER_SCORE en 1
- De manera similar, la función showLose () muestra que el jugador hizo una mala suposición y otorga un punto al BIT al incrementar la variable BIT_SCORE en 1
- La función showBadGuess () muestra una X grande en la pantalla que indica que uno de los jugadores hizo una mala suposición (de 0 o mayor que 6); el jugador malo en este caso pierde un punto y el otro anota un punto.
Y por último, la función publishWinner () realiza la tarea de anunciar quién es el gran ganador después de 3 rondas de desafío / respuesta seguidas de:
- Restablecimiento de las variables de puntuación PLAYER_SCORE y BIT_SCORE
- Pausar brevemente y comenzar un nuevo juego llamando a la función de inicio showMessage () discutida en el paso anterior (6) de este IBLE
Finalmente, ¡vamos al simulador y al código!
Paso 10: el simulador y el código
El código se está ejecutando en el simulador en línea que se encuentra aquí.
- El simulador se encuentra en la parte inferior izquierda de la página.
- Alternativamente, el botón Descargar se puede usar para descargar el código en caso de que tenga un BBC Microbit a mano
- Como se mencionó al comienzo del IBLE, no necesita un BBC Microbit para construir el código en el editor de bloques o para simular y probar su código, ¡aunque eso no funciona para personas curiosas como yo!
Una nota sobre el botón Editar
- Si ha observado, el código es de dominio público y hay una manera de editarlo usando el botón Editar en la parte superior derecha.
- Sin embargo, le solicito sinceramente que haga una copia de este código y lo cambie para adaptarlo a sus necesidades para que la versión original se conserve en interés de este IBLE.
¡Gracias! ¡¡¡Y codificación feliz !!!:-)
Recomendado:
Un juego de adivinanzas simple: Python + XBees + Arduino: 10 pasos
Un juego de adivinanzas simple: Python + XBees + Arduino: así es como funciona el juego: tienes 4 intentos para adivinar una letra entre "a" - "h" - > Adivina la letra correcta: ¡Tú ganas! ? - > Adivina la letra incorrecta: ¿Se acabó el juego? - > Adivina cualquier otro carácter fuera de "a" - "h": ¿Se acabó el juego? Tu Arduino te permitirá
Juego de adivinanzas Python: 9 pasos
Juego de adivinanzas de Python: las siguientes instrucciones proporcionan una guía paso a paso sobre cómo escribir un programa usando el módulo aleatorio y creando un juego de adivinanzas que interactúe con el usuario. Para comenzar, necesitaría tener Python instalado en su computadora y también op
Juego de adivinanzas de colores con control remoto por infrarrojos: 3 pasos
Juego de adivinanzas de colores con control remoto IR: en este instructivo, te mostraré cómo controlar un LED RGB con un control remoto IR y hacer un juego divertido con él
Programe su PC para que se apague automáticamente asignando a qué hora desea que lo haga: 4 pasos
Programe su PC para que se apague automáticamente asignando la hora a la que desea que haga eso: hey, esa es otra instrucción tomada de mi vida diaria … la última vez tuve que descargar un montón de software a mi PC y tuve que dejar que se descargara durante la noche, no quería mantener mi PC encendida toda la noche después de terminar las descargas y en el s
Construye un robot muy pequeño: crea el robot con ruedas más pequeño del mundo con una pinza: 9 pasos (con imágenes)
Construye un robot muy pequeño: crea el robot con ruedas más pequeño del mundo con una pinza: construye un robot de 1/20 pulgadas cúbicas con una pinza que pueda levantar y mover objetos pequeños. Está controlado por un microcontrolador Picaxe. En este momento, creo que este puede ser el robot con ruedas más pequeño del mundo con pinza. Eso sin duda ch