Este es un intento de hacer un clon del juego de clonos Jetpack Joyride en Python. El resultado final funciona bastante bien. Todo el código está diseñado en un diseño orientado a objetos con una biblioteca mínima de Python.
W: Muévete hacia arriba A: Muévete a la izquierda D: Mover a la derecha F: Shoot V: SpeedBoost (se puede usar solo una vez en el juego)
Se implementa la gravedad (acelación constante) Los obstáculos se pueden derribar recolectan monedas para la puntuación, hay una camioneta de potencia como Magnet para atraer monedas y escudo para proteger la derrota al dragón en final si puedes.
Para ejecutar el juego, simplemente ejecute el archivo main.py después de clonar el repositorio. Use el compilador Python3.
Clase de entidad: Clases que pertenecen a todos los objetos que aparecen en la clase de entidad heredan el tablero. Esta clase se adhiere a la lista de entidades del juego, tiene el concepto de coordinas. Básicamente se puede imaginar como un pin o un anclaje de objetos de anclaje al lienzo. Nota: la entidad en sí no se usa. Solo se usan niños.
Clase de persona: esto se usa para hacer objetos de forma cuadrada de un tamaño dado. Hereda de la entidad. Esta clase se ha utilizado una y otra vez para crear clases como el mandaloriano, las monedas, el escudo, las balas, el dragón, etc. Este es el excelente ejemplo de poder de los Ups
Obstáculos: heredan directamente de la clase de entidad a medida que varían en forma y tamaño. Tienen sus propias funciones relacionadas con colisi9on.
Concepto: a intervalos frecuentes, las entidades se generan aleatoriamente. Hay una lista de entidades en el objeto del juego. En cada cuadro, cada objeto está "marcado" y se actualiza. Si necesita mostrarse en la pantalla, se representa. Después de actualizar todos los objetos, verificamos las colisiones en la lista y en función de las colisiones actualizan el estado del juego. En este momento debido a las garrapatas, todos los objetos se han presentado en el lienzo. Dibujamos el lienzo usando una matriz 2D. El lienzo se actualiza al comienzo de cada tic.
Nota: No todas las variables se hacen privadas y en algunas funciones de Getter y Setter no se utilizan. Ejemplo: Renderización en el lienzo. Esto se debe a la simplicidad y la sobrecarga de rendimiento.