Atölye › Angry Birds Tarzı Sapan › 43/47. adım
Seviyeler arasında geçerken puan korunmalı. O yüzden reset'i ikiye bölüyoruz:
startLevel(n): n numaralı seviyeyi kurar; puan hariç her şeyi başlatır. Hangi seviyede olduğumuzu level
tutar.reset(): yalnız puanı sıfırlar ve 0. seviyeyi başlatır.```js
let level
function startLevel(n) {
level = n
bodies = LEVELS[n].map(([kind, x, y, w, h]) => body(kind, x, y, w, h))
bird = null
birdsLeft = 3
aim = { angle: -0.6, pull: 50 }
dragging = false
state = 'aiming'
calm = 0
}
function reset() {
score = 0
startLevel(0)
}
```let level → şu anki seviyenin numarası (0'dan başlar).function startLevel(n) { → parantezdeki n bir parametre: çağıran hangi sayıyı verirse (startLevel(1))
fonksiyonun içinde n o olur.level = n ve LEVELS[n].map(...) → o seviyeyi kurar.reset'in aynısı; yalnız score = 0 yok: puan seviyeden seviyeye taşınır.function reset() { score = 0; startLevel(0) } → oyunu baştan başlatmak: puan sıfır, birinci seviye.let dragging satırının altına let level yaz.function reset() { satırını function startLevel(n) { yap; altına level = n yaz.LEVELS[0] yerine LEVELS[n] yaz ve score = 0 satırını sil.}'sinden sonra bir boş satır bırakıp yeni reset fonksiyonunu yaz.Beceriler: Fonksiyonlar, Oyun durumları
← Veriden üç seviye Sonraki seviyeye →