Hallo!
Ich verstehe nicht ganz was an folgenden Zeilen falsch sein soll. Ich habe noch nie mit einem Array zur Bewegung gearbeitet, jedenfalls außerhalb der Konsole....
Kann wer helfen und es mir erklären? Die Gedanken die ich hatte stehen in den Kommentaren.
Alles anzeigen
MfG
Check
Ich verstehe nicht ganz was an folgenden Zeilen falsch sein soll. Ich habe noch nie mit einem Array zur Bewegung gearbeitet, jedenfalls außerhalb der Konsole....
Kann wer helfen und es mir erklären? Die Gedanken die ich hatte stehen in den Kommentaren.
Quellcode
- //Hochtaste -> True auf nächstes Kästchen
- if(Game.GetInput().IsKeyDown(sf::Key::Up))
- {
- //Wenn y<1 dann keine Kästchen übrig also Programm für 5sek. einfrieren
- if(y-1<=0)
- {
- y=1; //zurücksetzen
- }
- //Wenn y>1 dann momentanen Standt auf das nächste Kästchen setzen und nächsten Standt auf true
- else
- {
- Karte[y][x].Besetzt = false; //Alte Markierung auf false, damit es sich nicht doppelt.
- Karte[y-1][x].Besetzt = true; //Neue Markierung auf true, damit sie sichtbar und gesetzt wird.
- }
- }
- //Rechtstaste -> True auf nächstes Kästchen
- if(Game.GetInput().IsKeyDown(sf::Key::Right))
- {
- //Wenn x>3 dann keine Kästchen übrig also Programm für 5sek. einfrieren
- if(x+1>=3)
- {
- x=3; //zurücksetzen
- }
- //Wenn x<3 dann momentanen Standt auf das nächste Kästchen setzen und nächsten Standt auf true
- else
- {
- Karte[y][x].Besetzt = false; //Alte Markierung auf false, damit es sich nicht doppelt.
- Karte[y][x+1].Besetzt = true; //Neue Markierung auf true, damit sie sichtbar und gesetzt wird.
- }
- }
- //Linkstaste -> True auf nächstes Kästchen
- if(Game.GetInput().IsKeyDown(sf::Key::Left))
- {
- //Wenn x<1 dann keine Kästchen übrig also Programm für 5sek. einfrieren
- if(x-1<=0)
- {
- x=1; //zurücksetzen
- }
- //Wenn x>1 dann momentanen Standt auf das nächste Kästchen setzen und nächsten Standt auf true
- else
- {
- Karte[y][x].Besetzt = false; //Alte Markierung auf false, damit es sich nicht doppelt.
- Karte[y][x-1].Besetzt = true; //Neue Markierung auf true, damit sie sichtbar und gesetzt wird.
- }
- }
- if(Game.GetInput().IsKeyDown(sf::Key::Down))
- {
- //Wenn y>3 dann keine Kästchen übrig also Programm für 5sek. einfrieren
- if(y+1>=3)
- {
- y=3; //zurücksetzen
- }
- //Wenn x<3 dann momentanen Standt auf das nächste Kästchen setzen und nächsten Standt auf true
- else
- {
- Karte[y][x].Besetzt = false; //Alte Markierung auf false, damit es sich nicht doppelt.
- Karte[y+1][x].Besetzt = true; //Neue Markierung auf true, damit sie sichtbar und gesetzt wird.
- }
- }
MfG
Check