Ahora vas a crear las funciones que utilizará nuestro jugador, representado por el punto que se mueve por la fila inferior. Las funciones tendrán que garantizarle su creación y su desplazamiento para defenderse del ataque. ¡Ayudémosle!
¿Qué acciones puede necesitar hacer nuestro punto-héroe? Pues piensa que puede: ser creado, ser mostado, ser eliminado, comprobar si está siendo comido. ¡Tenemos 4 funciones por implementar!
Comentamos nuestro código
Comenzamos la codificación de estas funciones comentando qué comienza ahora en el listado de comandos del programa. Recuerda antes de cada función especificar de la misma manera lo que vas a codificar a continuación:
# --------------------
# Funciones del punto-héroe
# --------------------
Crear punto
Vamos a comenzar por crear nuestro jugador, el punto-héroe. Para ello necesitarás dos variables globales para sus coordenadas (recuerda darles nombres diferentes a las que has utilizado para las coordenadas del enemigo, por ejemplo coordenada a y coordenada b). Además, debes asegurar que el punto no se crea encima de la posición del enemigo, ya que perdería nada más empezar, ¿se te ocurre cómo verificar esto?
Paso a paso:
- Crear las dos variables globales a y b.
- Dar valores iniciales a estas variables, controlando que no comiencen posicionadas encima del enemigo. La coordenada a será horizontal y debe ser creada al azar. La coordenada b será vertical y siempre tendrá el valor de la última fila inferior de la pantalla de leds.
Mostrar punto
Mostrar el punto-héroe se reduce tan solo a encender el punto en la pantalla.
Mover punto
Para mover nuestro punto a derecha o izquierda pulsando los botones A y B de la placa, creamos la función mover_punto(). Esta función debe:
- Comprobar si se ha pulsado el botón A, y mover entonces la coordenada horizontal del punto una posición hacia la izquierda.
- Comprobar si se ha pulsado el botón B, y mover entonces la coordenada horizontal del punto una posición hacia la derecha.
- ¡Controla los límites de la pantalla!
- Recuerda finalmente, apagar el punto antes de actualizar su posición y volver a encenderlo en la nueva posición.
Para comprobar si se ha pulsado un botón, se llama a la función button_a.was_pressed() que devuelve True si se ha pulsado el botón A de la placa, o button_b.was_pressed() que devuelve True si se ha pulsado el botón B de la placa.
¿Ha sido eliminado?
Si el enemigo se ha "comido" a nuestro punto-héroe, Tendremos que apagar el punto. Esa función, que bien podría llamarse comer_punto() deberá entonces apagarlo con el comando que has visto en el ejercicio anterior sobre las funciones del enemigo.
Comprobar si el enemigo se ha comido al punto
Para esta función, a la que podemos llamar comprobar_enemigo_come_punto(), tendrás que utilizar una estructura que nos devuelva (return) un valor True si las posiciones coinciden, o un valor false si no coinciden, y por tanto no se lo ha comido.