Hi!
Hab mich mal an ein kleines Spiel gesetzt... man ist ein @ ,muss sich rumbewegen, und As die einen verfolgen abschütteln indem man sie in "Minen" jagt.
Ich hab das so gelöst: Klasse Player, Klasse Enemy, ein Array für die Karte (1 = Mine, 0 = frei), und dann ein Array in dem die Feinde untergebracht sind.
Nun hab ich aber einen komischen Bug dadrin, und kann mir nicht erklären warum; wenn mehrere As gleichzeitig sterben, wird von der verbleibenden Gegneranzahl nur 1 abgezogen.
Code:
Alles anzeigen
Danke,
-Josh
Hab mich mal an ein kleines Spiel gesetzt... man ist ein @ ,muss sich rumbewegen, und As die einen verfolgen abschütteln indem man sie in "Minen" jagt.
Ich hab das so gelöst: Klasse Player, Klasse Enemy, ein Array für die Karte (1 = Mine, 0 = frei), und dann ein Array in dem die Feinde untergebracht sind.
Nun hab ich aber einen komischen Bug dadrin, und kann mir nicht erklären warum; wenn mehrere As gleichzeitig sterben, wird von der verbleibenden Gegneranzahl nur 1 abgezogen.
Code:
Quellcode
- public void checkEvents()
- {
- for(int i = 0; i < noe; i++)
- {
- if(enemies[i] != null)
- {
- if(enemies[i].getXPos() == player.getXPos() && enemies[i].getYPos() == player.getYPos())
- {
- done = true;
- playerHasWon = false;
- }
- if(playfield[enemies[i].getXPos()][enemies[i].getYPos()] == 1)
- {
- enemies[i]= null;
- noe--;
- }
- }
- }
- if(playfield[player.getXPos()][player.getYPos()] == 1)
- {
- done = true;
- playerHasWon = false;
- }
- if(noe <= 0)
- {
- done = true;
- playerHasWon = true;
- }
- }
Danke,
-Josh