¿Buscas refinar el manejo del peligro en tu juego? Convierte vidas en salud y añade una dimensión extra a tu juego.

Agregar un sistema de salud a su juego de arcade puede mejorar la experiencia del jugador y puede agregar una capa adicional de desafío y compromiso. Puede crear una experiencia de juego más inmersiva con una visualización de la salud y la mecánica del jugador para el daño y la curación.

Afortunadamente, implementar un sistema de salud en Python utilizando la biblioteca Arcade es sencillo y solo requiere unos pocos pasos.

Crea un juego simple

Primero, instala pip en tu dispositivo y use el siguiente comando para instalar la biblioteca arcade:

pip instalar arcade

Después de eso, comience creando un juego simple usando la biblioteca Arcade. Este juego contará con un personaje de jugador que puede moverse hacia la izquierda, derecha, arriba y abajo y un objeto enemigo que representa una amenaza para el jugador.

El código utilizado en este artículo está disponible en este repositorio GitHub y es gratis para su uso bajo la licencia MIT.

instagram viewer

Crear un nuevo archivo llamado juego-simple.py y agregue el siguiente código:

importar arcada

# Establecer las dimensiones de la ventana
ANCHO_PANTALLA = 800
PANTALLA_ALTURA = 600

# Establecer la velocidad de movimiento del jugador
JUGADOR_MOVIMIENTO_VELOCIDAD = 5
blanco = arcada.color. BLANCO
azul = arcada.color. AZUL
rojo = arcada.color. ROJO

claseventana de juego(arcada. Ventana):
definitivamente__en eso__(uno mismo, ancho, alto):
super().__init__(ancho, alto)
arcade.set_background_color (blanco)

# Crea objetos de jugadores y enemigos
self.jugador = arcade. SpriteCírculo(30, azul)
self.enemy = arcada. SpriteCírculo(30, rojo)
self.jugador.center_x = 100
self.jugador.center_y = 100
self.enemy.center_x = 400
self.enemy.center_y = 300

definitivamenteen_dibujar(ser):
arcade.start_render()
self.player.draw()
self.enemy.draw()

definitivamenteactualizar(uno mismo, delta_time):
aprobar

definitivamenteon_key_press(auto, clave, modificadores):
si clave == arcade.clave. IZQUIERDA:
self.player.center_x -= PLAYER_MOVEMENT_SPEED
elif clave == arcade.clave. BIEN:
self.player.center_x += PLAYER_MOVEMENT_SPEED
elif clave == arcade.clave. ARRIBA:
self.player.center_y += PLAYER_MOVEMENT_SPEED
elif clave == arcade.clave. ABAJO:
self.player.center_y -= PLAYER_MOVEMENT_SPEED

definitivamenteprincipal():
juego = GameWindow (PANTALLA_ANCHO, PANTALLA_ALTO)
arcade.ejecutar()

si __nombre__ == "__principal__":
principal()

Debería ver una ventana que contiene dos caracteres, representados por círculos azules y rojos:

Para implementar el sistema de salud, definir variables y constantes relacionadas con la salud. Los usará para realizar un seguimiento de la salud actual del jugador y determinar las reglas para el daño y la curación. Agrega el siguiente código dentro del ventana de juego clase:

claseventana de juego(arcada. Ventana):
definitivamente__en eso__(uno mismo, ancho, alto):
# ...
# Variables y constantes relacionadas con la salud
self.jugador_salud = 100

# Puntos de salud curados por segundo
self.heal_rate = 1

# Temporizador para la curación
self.heal_timer = 0

definitivamenteactualizar(uno mismo, delta_time):
# ...
# Actualizar el temporizador de curación
self.heal_timer += delta_time

# Cura la salud del jugador cada 2 segundos
si self.heal_timer >= 2:
self.player_health += self.heal_rate
self.heal_timer = 0

# Asegúrese de que la salud no exceda el valor máximo
si self.jugador_salud > 100:
self.jugador_salud = 100

Implementando Mecánicas de Daño y Curación

Para implementar las mecánicas de daño y curación, detectar colisiones entre el jugador y el enemigo. Reduce la salud del jugador cuando choca con el enemigo y cura la salud del jugador cada 2 segundos cuando no choca. Modificar el actualizar() método y agregue el siguiente código:

claseventana de juego(arcada. Ventana):
definitivamente__en eso__(uno mismo, ancho, alto):
# ...

definitivamenteactualizar(uno mismo, delta_time):
# Detecta colisiones entre el jugador y el enemigo
si arcade.check_for_collision (self.player, self.enemy):
self.jugador_salud -= 5

# ...

Gestión de escenarios de muerte del jugador y fin del juego

Para administrar la muerte del jugador y los escenarios de fin de juego, verifique si la salud del jugador llega a cero o menos. Si la salud cae a cero, considera al jugador muerto y finaliza el juego. Modificar el actualizar() método con el siguiente código:

claseventana de juego(arcada. Ventana):
definitivamente__en eso__(uno mismo, ancho, alto):
# ...

definitivamenteactualizar(uno mismo, delta_time):
# ...

# Comprobar si la salud del jugador es cero o inferior
si self.jugador_salud <= 0:
# Terminar el juego
arcade.cerrar_ventana()

# ...

Visualización de la barra de salud

Una representación visual de la salud del jugador puede mejorar enormemente la experiencia de juego. Cree una barra de salud usando rectángulos para mostrar el nivel de salud actual. Crear un nuevo archivo llamado salud-bar.py y agregue el código con las siguientes actualizaciones:

claseventana de juego(arcada. Ventana):
definitivamente__en eso__(uno mismo, ancho, alto):
# ...

definitivamenteen_dibujar(ser):
arcade.start_render()
self.player.draw()
self.enemy.draw()
gris = arcada.color. GRIS CLARO
verde = arcada.color. VERDE

# Dibujar barra de salud
arcade.draw_rectangle_filled (PANTALLA_ANCHO // 2, 20,
ANCHO_PANTALLA, 20, gris)

health_width = self.player_health / 100 * ANCHO_PANTALLA

arcade.draw_rectangle_filled (health_width // 2, 20,
salud_ancho, 20, verde)

A continuación se muestra la salida:

Incluyendo características adicionales

Puede mejorar aún más el sistema de salud con más funciones, como las siguientes.

Pantalla de salud numérica

Además de la barra de salud, puede mostrar la salud restante como un valor numérico en la pantalla. Esto proporciona una indicación precisa del estado de salud del jugador. Agrega el siguiente código dentro del en_dibujar() método:

# Dentro del método on_draw()
negro = arcada.color. NEGRO
texto = f"Salud: {self.jugador_salud}"
arcade.draw_text (texto, 10, 10, negro, 14)

Potenciadores de salud

Para introducir potenciadores de salud, puedes crear objetos especiales que aumenten la salud del jugador cuando chocan con ellos. Aquí hay un ejemplo de cómo puede implementar esta función:

# Dentro del método update()
si arcade.check_for_collision (self.player, self.power_up):
self.jugador_salud += 20

# Eliminar el encendido del juego
self.power_up.kill()

Tipos de enemigos variados

Para agregar profundidad a tu juego, puedes introducir diferentes tipos de enemigos que infligen diferentes niveles de daño al jugador. Esto agrega un elemento estratégico y permite experiencias de juego más diversas. Aquí hay una implementación de esta función:

# Dentro del método update()
si arcade.check_for_collision (self.player, self.enemy):
si self.enemy.type == "débil":
self.jugador_salud -= 5
elif self.enemy.type == "fuerte":
self.jugador_salud -= 20

Al incorporar estas características adicionales en la implementación de su sistema de salud, puede crear experiencias de juego más dinámicas y desafiantes para sus jugadores.

Mejores Prácticas para el Sistema de Salud

Al implementar un sistema de salud en su juego de arcade, es importante seguir las mejores prácticas para garantizar que el sistema sea sólido y eficiente. Estas son algunas de las mejores prácticas a tener en cuenta:

Hazlo modular

Mantenga la funcionalidad del sistema de salud dentro de una clase o módulo separado para mantenerlo modular y fácilmente reutilizable en diferentes proyectos de juegos. Esto promueve la organización del código y la separación de preocupaciones.

Validación de entrada y salvaguardas

Implemente la validación de entrada para evitar que su código asigne valores de salud no válidos. Las mismas salvaguardas deberían proteger contra valores de salud inválidos cuando se produce daño o curación.

Mecanismo de guardar y cargar

Implemente un mecanismo de guardar y cargar que incluya el estado de salud del jugador. Esto permite a los jugadores reanudar el juego con su progreso intacto, incluida su salud, incluso después de salir del juego.

Pruebas y manejo de errores

Probar exhaustivamente la implementación del Sistema de Salud para verificar su corrección y confiabilidad. Use técnicas de manejo de errores apropiadas para manejar excepciones y casos extremos de manera efectiva.

Comentarios de salud consistentes

Proporcione comentarios consistentes y claros al jugador sobre su estado de salud. Puedes agregar efectos de audio, señales visuales o incluso comentarios hápticos, lo que garantiza que los jugadores conozcan su estado de salud en el juego y puedan tomar decisiones informadas durante el juego.

Al seguir estas mejores prácticas, puede crear un sistema de salud sólido y efectivo que mejore la experiencia de juego de su juego de arcade mientras mantiene la calidad y la legibilidad del código.

Haz que los juegos sean más divertidos con Health System

Agregar un sistema de salud a su juego puede mejorar significativamente la experiencia general del jugador. Introduce un elemento de riesgo y desafío, lo que hace que el juego sea más atractivo y gratificante.

Una representación visual de la salud permite a los jugadores evaluar fácilmente su estado actual, lo que aumenta la inmersión y la toma de decisiones estratégicas.