Atölye › Renk Hafızası (Simon) › 16/27. adım
Sıra oyuncuda. inputAt, oyuncunun dizinin kaçıncı adımında olduğunu sayar. Her basış dizinin tek bir adımıyla
karşılaştırılır:
'over'),Cevabın tamamını beklemek yerine her basışı hemen kontrol etmek, hatanın turu anında bitirmesini sağlar. Bu adımda
press fonksiyonunu yazıyoruz; tıklamaya ve klavyeye sonra bağlayacağız.
```js
let inputAt // how many pads of the sequence the player has repeated
inputAt = 0
function press(pad) {
if (state !== 'input') return
if (pad !== sequence[inputAt]) {
state = 'over'
return
}
inputAt += 1
if (inputAt === sequence.length) nextRound()
}
```let inputAt → oyuncunun kaç tuşu doğru tekrarladığı. nextRound içinde inputAt = 0: her tur baştan.let state yorumunda artık üçüncü aşama da var: 'over' (bitti).function press(pad) → oyuncu pad numaralı tuşa bastı.if (state !== 'input') return → sıra oyuncuda değilse basış sayılmaz: gösteri sırasında tıklamalar yok sayılır.if (pad !== sequence[inputAt]) { → basılan tuş, beklenen tuş (sequence[inputAt]) değilse:state = 'over' → oyun biter, return → çık.inputAt += 1 → doğru! Bir sonraki adıma geç.if (inputAt === sequence.length) nextRound() → dizinin sonuna geldiysen yeni tur.let state satırının yorumunu // 'showing', 'input' or 'over' yap (yorum olduğu için kontrolleri etkilemez).let timer satırının altına let inputAt ... satırını yaz.nextRound'un son satırı olarak inputAt = 0 yaz.light fonksiyonunun altına bir boş satır bırak ve press fonksiyonunu yaz.press'i doğrudan deneyecek.Beceriler: Oyun durumları, Fonksiyonlar
← İzle, sonra sıra sende Klavyeyle oyna →