Was ist hier das Problem?

ifoundabone  15.10.2023, 01:57

Mehr Kontext bitte?

Hallo1234567569 
Fragesteller
 15.10.2023, 01:58

Ich will snake programmieren und ein punkt sll sich bewegen tut es aber nicht

2 Antworten

Beim Überprüfen des Codes sind mir einige Dinge aufgefallen:

1. Im `keyDown`-Event-Handler verwenden Sie `e.keyDown` anstelle von `e.keyCode`. Der korrekte Name des Attributes ist `e.keyCode`.

Also, anstatt:

```javascript

if (e.keyDown == 37) {

...

```

Sollten Sie:

```javascript

if (e.keyCode == 37) {

...

```

verwenden.

2. Im `gameLoop`-Funktion ändern Sie nur die x- oder y-Koordinate des ersten Elements des `snake`-Arrays. Wenn Sie möchten, dass die gesamte Schlange sich bewegt (nicht nur der Kopf), müssen Sie einen Mechanismus implementieren, der alle Teile der Schlange aktualisiert.

3. Es gibt keine Logik für Kollisionen oder zum Überprüfen, ob die Schlange das Essen erreicht hat. Aber dies war nicht Ihre spezifische Frage, es ist nur eine Beobachtung, die Sie vielleicht in Zukunft berücksichtigen möchten.

Beginnen Sie mit der Korrektur von `e.keyDown` zu `e.keyCode` und sehen Sie, ob das die Bewegung der Schlange ermöglicht. Das sollte den unmittelbaren Fehler beheben. Wenn Sie weitere Fragen oder Probleme mit dem Code haben, lassen Sie es mich wissen!

Diese Art von Debugging kann man mittlerweile gut mit ChatGPT/Claude 2/Phind/Perplexity etc. machen, probier das mal aus.