Atölye › Ay'a İniş › 23/31. adım
Oyun bölümlere ayrılsın: her başarılı inişten sonra biraz daha zor bir bölüm. Bölüm ve puan bütün oyuna aittir; tepeler ve araç ise tek bir uçuşa. Bu yüzden iki fonksiyon olacak:
startLevel() (bölümü başlat) → yeni tepeler, yeni araç, bölüme göre yerçekimi.reset() → bütün oyunu baştan başlatır: 1. bölüm, 0 puan, sonra startLevel().Eski reset'in adı startLevel oluyor.
```js
let level
let score
function startLevel() {
makeGround()
lander = { x: 60, y: 40, vx: 1, vy: 0, angle: 0, fuel: 400 }
gravity = 0.02 + level * 0.005
state = 'flying'
}
function reset() {
level = 1
score = 0
startLevel()
}
```let level, let score → bölüm ve puan.function startLevel() → eski reset'in yeni adı; içi aynı, yalnız yerçekimi değişiyor.gravity = 0.02 + level * 0.005 → 1. bölümde 0.025 (eskisiyle aynı), 2. bölümde 0.03, 3. bölümde 0.035...function reset() → level = 1, score = 0, sonra startLevel(). En alttaki reset() çağrısı ve next
aynı kalıyor: yeni oyun demek.let state ... satırının üstüne let level ve let score yaz.function reset() { satırını function startLevel() { yap; içindeki gravity = 0.025 satırını
gravity = 0.02 + level * 0.005 yap.startLevel'ın kapanış }'inin altına bir boş satır bırak ve yeni reset fonksiyonunu yaz.Beceriler: Oyun durumları, Fonksiyonlar