Sumar pociones sin romper el balance es clave. Aquí verás cómo definir variables y constantes, inicializar valores en start_game, y crear métodos como collect_health y collect_maná con límites seguros, además de exponer datos con getters para la interfaz. Todo se centra en mantener la vida y el maná del jugador dentro de rangos coherentes.
¿Cómo estructurar variables y constantes para vida y maná?
Para controlar puntos de vida y de maná, se separan dos tipos de datos: estado actual y límites. El estado se guarda en variables privadas, mientras que los límites y valores iniciales van en constantes públicas. Además, se recuerda una convención útil: las constantes suelen escribirse en mayúsculas para distinguirlas de variables que cambian.
Variables de estado: private int health_points y mana_points.
Constantes: public const int para valores iniciales y rangos.
Objetivo: mantener valores dentro de mínimos y máximos definidos.
¿Cómo implementar collect_health y collect_maná con límites?
Al recoger pociones, el jugador incrementa sus puntos. Para evitar desbordes, se trunca el valor si supera el máximo permitido. Así se impide que la vida o el maná se vuelvan infinitos.
Sumar puntos recibidos por parámetro.
Verificar si se supera el máximo.
Truncar al valor máximo si ocurre.
publicvoidcollect_health(int points){this.health_points += points;// Suma los puntos recibidos.if(this.health_points > max_health){this.health_points = max_health;// Trunca al máximo permitido.}}// Análogo para el maná: collect_maná(int points)// Misma lógica: sumar y truncar con max_manam.
¿Cómo truncar al superar max_health o max_manam?
La comprobación es directa: si el valor actual supera el máximo, se asigna el máximo. Con esto, el player controller puede tomar seis pociones sin romper los límites.
¿Qué ejercicio se propone para collect_maná?
Replicar exactamente el algoritmo de vida cambiando “vida” por “maná”. Así se refuerza el patrón y se mantiene la coherencia de límites.
¿Cómo exponer datos con getters para la interfaz?
Para “pintar” barras de vida y maná en la interfaz gráfica de usuario, se crean métodos públicos que devuelven enteros. Esto desacopla el estado interno de su representación visual y facilita la actualización de la GUI.