Atölye › Yılan › 24/28. adım

Oyunu başlatan tek fonksiyon

Ne yapıyoruz

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)
```

Ne işe yarıyor

Sıra sende

  1. 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).
  2. placeFood fonksiyonunun altındaki tek başına placeFood() çağrısını sil.
  3. En alttaki requestAnimationFrame(loop) satırının hemen üstüne reset() yaz.
  4. Çalıştır: oyun eskisi gibi çalışmalı.

Beceriler: Oyun durumları, Fonksiyonlar

Tüm adımlar

  1. Canvas'ı bul
  2. Kalemi al
  3. Tahtayı boya
  4. Hücrelerle düşün
  5. Yeri bir değişkende tut
  6. Çizen bir fonksiyon
  7. Hareket ettiren bir fonksiyon
  8. Oyun döngüsü
  9. Yavaşlat
  10. Gidilecek yön
  11. Ok tuşlarıyla yönlendir
  12. Listeden bir gövde
  13. Bütün gövdeyi yürüt
  14. Yeme bir yer seç
  15. Yemi çiz
  16. Ye ve büyü
  17. Yemi yılanın üstüne koyma
  18. Yön tablosu
  19. Geri dönüş yok
  20. Duvara çarpma
  21. Kendine çarpma
  22. Oyun bitti yazısı
  23. Skoru göster
  24. Oyunu başlatan tek fonksiyon
  25. Boşlukla yeniden oyna
  26. En iyi skoru hatırla
  27. Büyüdükçe hızlan
  28. Kendin yap: duvarlardan geç