Skip to content

Actividad

Matriz de actividades

Intermedio | MakeCode, Python | Botones, Pantalla LED | Aleatorización, Estructuras de datos, Variables

Paso 1: Hazlo

¿Qué es?

¿Te resulta difícil decidir o acordar qué hacer? ¡Usa matrices para crear un programa para micro:bit que lo haga por ti!

micro:bit con diferentes iconos de actividades

Cómo funciona

  • Tu micro:bit almacena la lista de tus posibles actividades en una lista (o matriz) llamada "options" ("opciones" en inglés). Las matrices son muy útiles para almacenar listas de datos.
  • Cuando pulsas el botón A, elige un elemento de la lista al azar y lo muestra en la pantalla LED.
  • Usar una matriz hace realmente fácil modificar el código para añadir más opciones a la lista.
  • El código mide cómo de larga es la lista y se adapta - no es necesario modificar el trozo que genera los números aleatorios, puedes simplemente añadir y quitar cosas de la lista.
  • Genera un número al azar y lo almacena en una variable llamada "choice" ("elección" en inglés). El número estará entre 0 y uno menos que la longitud total de la matriz, ya que para un ordenador habitualmente el primer elemento de una matriz está en la posición cero. La matriz tiene 6 elementos: el primer elemento ("PE with Joe", en inglés, "ejercicio con Joe") está en la posición 0, y el último elemento ("bake a cake", en inglés "hacer una tarta") está en la posición 5.

Qué necesitas

  • micro:bit (o simulador MakeCode)
  • Editor de MakeCode
  • pilas (opcionales)

Paso 2: Prográmalo

1from microbit import *
2import random
3
4options = ['PE with Joe', 
5           'watch a movie',
6           'play a board game',
7           'tidy our rooms',
8           'learn a song',
9           'bake a cake']
10
11while True:
12    if button_a.is_pressed():
13        choice = random.randint(0, len(options)-1)
14        display.scroll(options[choice])

Paso 3: Mejóralo

  • Personalízalo poniendo tus propias actividades en el código.
  • ¿Cómo podrías hacer tu actividad favorita tuviera una mayor probabilidad de salir?
  • Intenta escribir el mismo programa en Python.