Atölye › Kule Savunması › 11/42. adım
Düşmanlar teker teker gelsin. İki sayaç kullanıyoruz:
toSpawn → daha kaç düşman gelecek (şimdilik 30),spawnIn → bir sonrakine kaç kare (frame) var.spawnIn her karede bir azalır; bitince yolun başına (d = 0) 10 canlı yeni bir düşman gelir ve sayaç 45'ten
yeniden başlar: saniyede yaklaşık 1.3 düşman.
```js
let toSpawn // enemies still to come in this wave
let spawnIn // frames until the next one
toSpawn = 30
spawnIn = 0
function update() {
if (toSpawn > 0) {
spawnIn -= 1
if (spawnIn <= 0) {
enemies.push({ d: 0, hp: 10 })
toSpawn -= 1
spawnIn = 45
}
}
```if (toSpawn > 0) { → gelecek düşman varsa:spawnIn -= 1 → geri sayım.if (spawnIn <= 0) { → süre dolduysa:enemies.push({ d: 0, hp: 10 }) → yolun başına 10 canlı yeni düşman.toSpawn -= 1 → gelecek sayısı bir azalır.spawnIn = 45 → sonrakine 45 kare.spawnIn 0'dan başladığı için ilk düşman hemen gelir.let enemies satırının altına let toSpawn ve let spawnIn yaz.reset içinde enemies = [] satırının altına toSpawn = 30 ve spawnIn = 0 yaz.update'in en üstüne düşman çıkaran bloğu yaz; altında bir boş satır bırak.Beceriler: Oyun durumları, Oyun döngüsü
← Yolun sonundan çıkış Kuleler →