Atölye › 15 Bulmacası › 21/27. adım
Not tamam; şimdi zamanı işletelim. Döngü her karede önce update() (güncelle) çağıracak: kayan taş varsa animasyonu
bir kare ilerletir, 8 kareye ulaşınca notu siler.
Bir kural daha: bir taş kayarken başka hamle beklesin. Yoksa hızlı tıklamalar taşları üst üste bindirir.
```js
function move(i) {
if (slide) return
// ...
function update() {
if (!slide) return
slide.frame += 1
if (slide.frame >= SLIDE_FRAMES) slide = null
}
function loop() {
update()
draw()
requestAnimationFrame(loop)
}
```if (slide) return → move'un ilk satırı: kayan bir taş varsa (slide null değilse) hamle yok. null
if için "yanlış" sayılır.function update() { → her karede çalışacak güncelleme.if (!slide) return → kayan taş yoksa yapacak bir şey yok.slide.frame += 1 → animasyon bir kare ilerler.if (slide.frame >= SLIDE_FRAMES) slide = null → 8'e ulaştıysa (>= "büyük ya da eşit") kayma bitti: not silinir.loop içinde update() → önce durumu güncelle, sonra çiz.move içinde en üste if (slide) return yaz.function squareX(i) { 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 döngüsü, Oyun durumları
← Kaymayı hatırla Akıcı kayma →