Warum ist das so?

2 Antworten

Die Funktion placeFood muss außerhalb von testGameOver definiert werden, andernfalls ist sie im äußeren Scope unbekannt.

Der weiße Bildschirm könnte verschiedene Gründe haben. Hier sind einige Dinge, die du überprüfen solltest:

  1. JavaScript-Fehler: Wenn im JavaScript-Code Fehler vorhanden sind, kann dies dazu führen, dass die Ausführung des Codes fehlschlägt, was zu einem leeren Bildschirm führt. Überprüfe die Browser-Konsole auf etwaige Fehlermeldungen. In deinem Code sind einige Syntaxfehler, die behoben werden müssen. Zum Beispiel ist die Funktion
  2. testGameOver()
  3. nicht richtig geschlossen.
  4. Fehlende Rendervorgänge: Derzeit fehlt in deinem Code eine explizite Methode zum Zeichnen des Spiels. Du hast die Funktion
  5. draw()
  6. definiert, aber sie wird nicht aufgerufen. Du könntest
  7. draw()
  8. in die
  9. gameLoop()
  10. -Funktion einfügen, um das Spiel zu zeichnen.
  11. Event-Listener: Stelle sicher, dass der Event-Listener, der auf Tastatureingaben reagiert (
  12. document.addEventListener('keydown', keyDown);
  13. ), ordnungsgemäß funktioniert. Überprüfe, ob die Tastenereignisse erkannt werden und die Richtung entsprechend aktualisiert wird.
  14. HTML-Struktur: Vergewissere dich, dass die HTML-Struktur korrekt ist. Das HTML-Dokument, das du gepostet hast, sieht in Ordnung aus, aber es ist wichtig sicherzustellen, dass es keine anderen Fehler im HTML-Code gibt, die das Rendering beeinträchtigen könnten.

Sobald du diese Aspekte überprüft und gegebenenfalls korrigiert hast, sollte dein Spiel ordnungsgemäß gerendert werden.


regex9  15.10.2023, 19:32

Die ersten beiden Aussagen sind falsch, der Key Event Listener hat nichts mit dem Rendering zu tun und welche anderen HTML-Fehler das Rendering beeinträchtigen können sollten, wäre mal interessant.