Atölye › Ritim Şeritleri › 12/35. adım
Bir şeride basınca o şerit bir an parlasın; oyuncu basışının yerine ulaştığını görsün. Parlamak kısa sürmeli: yaklaşık 8 kare (saniyenin yedide biri).
Bunun için her şeride bir geri sayım veriyoruz: lit. Sayı 0'dan büyükse şerit açık renkle çizilir; her karede
sayı bir azalır, 0'a gelince şerit söner. Mikrodalga fırının sayacı gibi.
```js
let lit // frames each lane stays lit after a press
lit = [0, 0, 0, 0]
lit = lit.map((n) => Math.max(0, n - 1))
ctx.fillStyle = lit[lane] > 0 ? '#334155' : '#1e293b'
```let lit → her şerit için "kaç kare daha yanık kalacak". reset içinde [0, 0, 0, 0]: dördü de sönük.lit = lit.map((n) => Math.max(0, n - 1)) → update'in ilk satırı:map listenin her elemanını dönüştürüp yeni bir liste yapar; burada her sayı (n) için
Math.max(0, n - 1).Math.max(0, n - 1) → iki sayıdan büyüğü: 1 çıkar ama 0'ın altına inme. [8, 0, 0, 0] → [7, 0, 0, 0].lit[lane] > 0 ? '#334155' : '#1e293b' → koşul ? evetse : hayırsa. Şerit yanıksa açık gri-mavi, değilse koyu.let frame satırının altına let lit ... satırını yaz.reset'in sonunda, frame = 0 satırının altına lit = [0, 0, 0, 0] yaz.update içinde frame += 1 satırının üstüne lit.map satırını yaz.draw içindeki şerit döngüsünde ctx.fillStyle = '#1e293b' satırını kodda görüldüğü gibi değiştir.Beceriler: Oyun durumları
← Oyun döngüsü Şeritlere tuşlar →