Hej, chłopaki. Miałem nadzieję, że ktoś będzie w stanie mi pomóc wymyślić, jak zwiększyć wyliczenie. Mam grę, która używa wyliczenia, aby zdobyć punkty za zabicie wroga, chcę, aby wartość wroga zwiększała się o 10 za każdym razem, gdy jeden z wrogów zostanie zabity. Oto kod mam dla wyliczenia:Jaki jest najlepszy sposób zwiększania wyliczenia?
public enum gamescore// Enumeration to hold the score values of the enemies
{
Martian = 10,
Vesuvian = 20,
Mercurian = 30,
Meteor = 50,
MotherShip = 100,
Destroyer = 200
}
i sposobu, aby uzyskać wynik wywołana z innej klasy, kiedy wróg umiera:
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;
}
sugestie? Mogę tylko wymyślić skomplikowane sposoby, aby to zrobić, że nawet nie działa.
Zastanawiam się również, mam markę, która jest aktualizowana, jeśli jest mniejsza niż wynik, więc najlepszy wynik to wynik, ale gdy aplikacja ponownie się uruchomi, jeśli gra zostanie ukończona lub jeśli graczowi zabraknie życia, highscore resetuje się ponownie do zera, czy jest jakiś sposób, aby utrzymać wysoką wartość tam, więc najwyższy wynik jest zawsze tam?
Doceniam twoją pomoc z moimi pytaniami, naprawdę.
Dzięki!
Masz tu dwa pytania, proszę rozdzielić je na dwie rzeczywistych pytań. – sgriffinusa
Odnośnie # 1: Polimorfizm. Kropka. – delnan
Co masz na myśli przez: "Chcę, aby wartość wroga wzrastała o 10 za każdym razem, gdy jeden z wrogów zostanie zabity"? –