Hola chicos. Esperaba que alguien pudiera ayudarme a descubrir cómo aumentar la enumeración. Tengo un juego que usa la enumeración para obtener los puntos por matar a un enemigo, quiero que el valor del enemigo aumente en 10 cada vez que muere uno de los enemigos. Aquí está el código que tengo para la enumeración:¿Cuál es la mejor manera de incrementar una enumeración?
public enum gamescore// Enumeration to hold the score values of the enemies
{
Martian = 10,
Vesuvian = 20,
Mercurian = 30,
Meteor = 50,
MotherShip = 100,
Destroyer = 200
}
y el método para obtener la puntuación llama de otra clase cuando un enemigo muere:
public int GetScore()// The method that utilieses the enumeration to get the score for the enemy killed
{
if (this is Martian)
{
return (int)gamescore.Martian;
}
else if (this is Vesuvian)
{
return (int)gamescore.Vesuvian;
}
else if (this is Mercurian)
{
return (int)gamescore.Mercurian;
}
else if (this is Destroyer)
{
return (int)gamescore.Destroyer;
}
else if (this is Meteor)
{
return (int)gamescore.Meteor;
}
else if (this is Mothership)
{
return (int)gamescore.MotherShip;
}
return 0;
}
¿Alguna sugerencia? Solo puedo encontrar formas complicadas de hacer esto, que ni siquiera creo que funcione.
También me preguntaba, tengo una etiqueta de puntuación más alta que se actualiza si es inferior a la puntuación, por lo que la puntuación más alta se convierte en puntaje, pero cuando la aplicación se reinicia, si el juego se completa o si el jugador se queda sin vida, la puntuación más alta vuelve a cero, ¿hay alguna forma de mantener el valor de la puntuación más alta para que el puntaje más alto siempre esté allí?
Agradezco su ayuda con mis preguntas chicos, realmente lo creo.
Gracias!
Tiene dos preguntas aquí, por favor separarlos en dos preguntas reales. – sgriffinusa
Con respecto al n. ° 1: polimorfismo. Período. – delnan
¿Qué quiere decir con: "Quiero que el valor del enemigo aumente en 10 cada vez que se mate a uno de los enemigos"? –