Atölye › Sonsuz Koşucu › 12/19. adım

Yeniden dene

Ne yapıyoruz

Çarptıktan sonra Boşluk (ya da dokunuş) yeni bir koşu getirsin. Bunun için bütün başlangıç değerlerini tek bir reset (sıfırla) fonksiyonuna taşıyoruz: oyun açılırken bir kez, her oyun bitişinden sonra yeniden çalışır.

```js
let runner
let state // 'ready', 'running' or 'over'
let obstacles
let speed
let nextIn // frames until the next obstacle

function reset() {
  runner = { x: 50, y: GROUND - STAND_H, w: 40, h: STAND_H, vy: 0 }
  state = 'ready'
  obstacles = []
  speed = 6
  nextIn = 60
}

  if (state === 'over') {
    reset()
    return
  }

reset()
```

Ne işe yarıyor

Sıra sende

  1. let runner = { ... } satırından let nextIn = 60 ... satırına kadar olan beş satırı değersiz tanımlarla ve reset fonksiyonuyla değiştir.
  2. jump fonksiyonunun en başına oyun bitti bloğunu yaz.
  3. En alttaki requestAnimationFrame(loop) satırının üstüne reset() yaz.
  4. Çalıştır, çarp ve Boşluk'a bas.

Beceriler: Oyun durumları, Fonksiyonlar

Tüm adımlar

  1. Zemin
  2. Koşucu
  3. Tekrar tekrar çiz
  4. Yer çekimi
  5. Zıpla
  6. Kısa sıçrama
  7. Dokunarak zıpla
  8. Üstüne gelen engeller
  9. Kaktüsler gelmeye devam ediyor
  10. Başlangıcı bekle
  11. Çarpışma
  12. Yeniden dene
  13. Giderek hızlan
  14. En iyi koşuyu hatırla
  15. Skor sayacı
  16. Kuşlar
  17. Hangi tuşlar basılı?
  18. Eğil
  19. Kendin yap: zıplama tamponu