Atölye › Köstebek Vurmaca › 6/18. adım
Her 700 milisaniyede bir, rastgele boş bir delikten bir köstebek çıksın ve bir saniye dışarıda kalsın.
Sıradaki köstebeğin ne zaman çıkacağını nextPop'ta tutuyoruz. Bu işi yapan update (güncelle) fonksiyonunu döngü
her turda çağıracak.
```js
let nextPop = 0 // when the next mole pops up
function update() {
if (now >= nextPop) {
const empty = holes.filter((hole) => !isUp(hole))
if (empty.length > 0) {
const hole = empty[Math.floor(Math.random() * empty.length)]
hole.upUntil = now + 1000
}
nextPop = now + 700
}
}
update()
```if (now >= nextPop) → yeni köstebek zamanı geldi mi?holes.filter((hole) => !isUp(hole)) → köstebeği olmayan delikler. ! "değil" demek.Math.floor(Math.random() * empty.length) → 0 ile listenin uzunluğu arasında rastgele bir sıra numarası.hole.upUntil = now + 1000 → köstebek şu andan itibaren 1000 ms dışarıda.nextPop = now + 700 → sıradaki 700 ms sonra.update() döngüde draw()'dan önce: önce durum değişir, sonra çizilir.let now ... satırının altına let nextPop = 0 ... yaz.function draw() { satırının üstüne update fonksiyonunu yaz (arada bir boş satır kalsın).loop içinde draw() satırının üstüne update() yaz.Beceriler: Oyun durumları, Oyun döngüsü
← Delikte bir köstebek Hangi deliğe tıklandı? →