Atölye › Yılan › 20/28. adım
Şu an yılan tahtadan çıkıp kayboluyor. Kural: duvara çarpan yılan ölür. Hareket etmeden önce yeni başın tahtanın dışında kalıp kalmayacağına bakacağız. Dışındaysa oyun biter ve yılan durur.
Oyunun bitip bitmediğini bir doğru/yanlış değişkeninde tutarız: gameOver.
```js
let gameOver = false
const hitWall = head.x < 0 || head.x >= COLS || head.y < 0 || head.y >= ROWS
if (hitWall) {
gameOver = true
return
}
if (!gameOver && time - last >= SPEED) {
```let gameOver = false → doğru/yanlış (boolean) değişken: oyun bitti mi? Başta false (hayır).const hitWall = ... → dört durumdan biri doğruysa duvara çarptı: || "veya" demek.head.x < 0 → en soldan da sola çıktı. head.x >= COLS → en sağdan dışarı (sütunlar 0–19, 20 dışarıda).head.y < 0 → yukarıdan, head.y >= ROWS → aşağıdan dışarı.if (hitWall) { gameOver = true; return } → çarptıysa oyunu bitir ve return ile fonksiyondan hemen çık:
unshift çalışmaz, yılan tahtanın içinde kalır.if (!gameOver && ...) → döngü yalnız oyun bitmemişken hareket ettirir. Çizim sürer, yılan donar.let score = 0 satırının altına let gameOver = false yaz.update içinde const head = ... satırının altına hitWall satırını ve if (hitWall) { ... } bloğunu yaz.loop içindeki if ( koşulunun başına !gameOver && ekle.Beceriler: Çarpışma tespiti, Oyun durumları
← Geri dönüş yok Kendine çarpma →