Atölye › Asteroids › 32/41. adım
Kayalar dalga dalga gelecek: 1. dalgada 4 kaya, her yeni dalgada bir fazlası (3 + wave). spawnWave (dalgayı
doğur) bir dalgayı kuracak: her kaya ya sol kenarda (x 0, y rastgele) ya da üst kenarda (y 0, x
rastgele) doğar; ortadaki gemiden uzakta.
En alttaki iki kaya satırının işini artık bu fonksiyon yapıyor.
```js
let wave
function spawnWave() {
asteroids = []
for (let i = 0; i < 3 + wave; i++) {
// Start at the edges, away from the ship in the middle.
const edge = Math.random() < 0.5
const x = edge ? 0 : Math.random() * canvas.width
const y = edge ? Math.random() * canvas.height : 0
asteroids.push(makeAsteroid(x, y, 3))
}
}
wave = 1
spawnWave()
```let wave → kaçıncı dalgadayız; en altta wave = 1.for (let i = 0; i < 3 + wave; i++) → 1. dalgada 4, 2. dalgada 5 kez.const edge = Math.random() < 0.5 → yazı-tura: true ya da false.edge ? 0 : Math.random() * canvas.width → true ise sol kenar (x 0); değilse rastgele bir x. y tersi: true
ise rastgele bir yükseklik, değilse üst kenar.asteroids.push(makeAsteroid(x, y, 3)) → büyük bir kaya ekle.let lives satırının altına let wave yaz.function shoot() { satırının üstüne spawnWave fonksiyonunu yaz; altında bir boş satır kalsın.asteroids = [] ve for (...) satırlarını sil; yerine wave = 1 ve spawnWave() yaz.Beceriler: Oyun durumları
← Güvendeyken yanıp sön Sonraki dalga →