Snake

Minimalversion: Schlange wird immer länger (zieht den Schwanz nicht nach).

  • Datenstruktur: 2-dimensionales Array $n \times n$
const n = 20;
// legt ein n mal n Array an, mit Nullen gefüllt.
let feld = (new Array(n)).fill(0).map(()=>(new Array(n)).fill(0))

Damit die Schlange den Schwanz nachziehen kann, speichern man die Koordinaten (als Arrays mit 2 Elementen) in ein Array p. Mit p.push([x,y]) wird einen neue Koordinate angehängt. Mit p=p.slice(1) wird das erste Element entfernt. Soll die Schlange länger werden, wird die aktuelle Position einfach mehrfach anghängt.

Tabelle mit $n \times n$ Zellen, die per CSS quadratisch gemacht werden und deren Hintergrundfarbe man setzen kann (element.style.backgroundcolor=“#00f”;)

Tastenabfrage, siehe Jump'n Run

  • kurse/ef05a-2021/js/projekte/snake.txt
  • Last modified: 2022/03/05 16:52
  • by Ivo Blöchliger