Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Snake
#1
Hallo, bin neu hier.
Habe das Problem das man in meinem Snake Spiel nicht rückwärts gehen kann. Also wenn man sich selbst beißt stirbt man, aber wen man eine Länge von 3 erreicht hat und versucht in die Entgegengesetzte Richtung zu gehen stirbt man.
Wie könnte ich das umgehen? Codepen
LG
Zitieren
#2
Dann zeig doch mal was du schon hast, weil ohne Code können wir dir kaum helfen
Zitieren
#3
(26.04.2022, 08:45)GeistFan schrieb: Hallo, bin neu hier.
Habe das Problem das man in meinem Snake Spiel nicht rückwärts gehen kann. Also wenn man sich selbst beißt stirbt man, aber wen man eine Länge von 3 erreicht hat und versucht in die Entgegengesetzte Richtung zu gehen stirbt man.
Wie könnte ich das umgehen? Codepen
LG

CodePen ist verlinkt @"admin"
Zitieren
#4
Aber so spielt man doch Snake.
Selber beißen verboten.
Ob eine Länge von 3 oder von 100, sobald du dich selbst berührst ist ende.
Wenn du beim rückwärts gehen die ganze Zeit in der Schlange laufen würdest, würdest du ja nie sterben.
Das zu deaktivieren, ist etwas schwer.
Die Snake Kästchen werden bei jeder einzelnen Bewegung in ein Array gespeichert.
Dabei wird von jeden Kästchen der Schlange die x und y-Achse gespeichert. Sind 2 Kästchen auf der gleichen x und y-Achse ist Game over.
Das Array könnte man Tot stellen und du würdest nie verlieren.

Dieses Array wird bei jeder Bewegung neu geschrieben und gleichzeitig darauf geachtet, ob es ein Array.
Ich weiß jetzt nicht, was du da genau machen willst. Wie weit willst du rückwärts gehen usw.…
Das ist auf jeden Fall nicht einfach, das umzubauen. Ich wüste jetzt nicht genau wie man das machen sollte, bzw. kommt darauf, woran du jetzt genau meinst mit rückwärts gehen und wie weit durch die schlang.
Zitieren
#5
Moin!
Durch Zufall dein Problem gesehen, hoffentlich kann ich noch helfen:
Deine Programmierung sieht super aus, es fehlt nur eine Kleinigkeit.
Wenn deine Schlange sich bewegt und du entgegen der aktuellen Richtung drückst, dann ist das bei dir möglich.
Genau dieses Verhalten musst du unterbinden.
Also bei deiner Key-Abfrage:
[...]
if (direction == 'LEFT' && direction != 'RIGHT') { *code* }
else if (direction == 'RIGHT' && direction != 'LEFT') { *code* }
etc.

Viel Erfolg Smile
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen:
5 Gast/Gäste