Atölye › Yılan › 24/28. adım
Oyunu yeniden başlatabilmek için her şeyi başlangıç hâline döndürmemiz gerekecek: yılan, yön, skor, yem... Bu değerler şu an değişkenlerin tanımlandığı satırlara dağılmış durumda.
Hepsini tek bir fonksiyonda toplayacağız: reset() (sıfırla). Değişkenler en üstte boş tanımlanır, değerlerini
reset verir. Oyun açılırken reset() bir kez çağrılır; bir sonraki adımda Boşluk tuşu da onu çağıracak.
```js
let snake
let dir
let nextDir
let food
let score
let gameOver
let last = 0
function reset() {
snake = [
{ x: 5, y: 5 },
{ x: 4, y: 5 },
{ x: 3, y: 5 },
]
dir = { x: 1, y: 0 }
nextDir = dir
score = 0
gameOver = false
placeFood()
}
reset()
requestAnimationFrame(loop)
```let snake → değişken tanımlanır ama değer verilmez; değeri reset verecek.function reset() { → oyunun başlangıç hâlini kuran fonksiyon. Değerlerin hepsi burada, tek yerde.
Dikkat: içeride let yok, çünkü değişkenler zaten yukarıda tanımlı; burada yalnız değer veriyoruz.placeFood() artık reset'in içinde: her yeni oyunda yeni yem.reset() → oyun açılırken ilk oyunu kurar, sonra döngü başlar.let snake = [ satırından let gameOver = false satırına kadar olan değişkenleri sil; yerine değer vermeden
tanımlanan değişkenleri ve reset fonksiyonunu yaz (let last = 0 aynı kalır).placeFood fonksiyonunun altındaki tek başına placeFood() çağrısını sil.requestAnimationFrame(loop) satırının hemen üstüne reset() yaz.Beceriler: Oyun durumları, Fonksiyonlar
← Skoru göster Boşlukla yeniden oyna →