lehrkraefte:blc:informatik:ffprg1-2024:raster-snake:move

Bewegen der Schlange

  • setTimeout(funktionsName, millisekunden) erlaubt es, nach eine bestimmten Zeit (in ms) eine Funktion aufrufen zu lassen.
  • setTimeout liefert eine id, über die der zukünftige Aufruf gestoppt werden kann. → Speichern in Variable timeoutId.
    • Hinweis: JavaScript ist single threaded. D.h. es wird nie Code unterbrochen, um die gewünschte Funktion aufzurufen. Die wird dann halt etwas später aufgerufen.
  • In snake.js: Eigene Funktion step, die einen Spielschritt ausführt.
  • Variable timeToNextStep, die die Anzahl Millisekunden bis zum nächsten Schritt enthält.
  • Am Ende der Funktion step, den timeout wieder setzten (und id speichern!)
  • Funktion startGame, die den ersten timeout setzt.
  • Erst mal reichen x,y Koordinaten.
  • Fortbewegen mit dem Vektor dirs[newDirection]
  • Überprüfen:
    • Auf dem Spielfeld? (mit meinRaster.isOn(a,b)). Sonst gameOver.
    • Auf leerem Feld? (mit ''meinRaster.getValue(a,b)). Sonst gameOver.
  • Neue Position, Felder setzen, Drehungen der Bilder berechnen.
  • lehrkraefte/blc/informatik/ffprg1-2024/raster-snake/move.txt
  • Last modified: 2024/05/23 09:35
  • by Ivo Blöchliger