Atölye › Renk Hafızası (Simon) › 16/27. adım

Her basışı kontrol et

Ne yapıyoruz

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:

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()
}
```

Ne işe yarıyor

Sıra sende

  1. let state satırının yorumunu // 'showing', 'input' or 'over' yap (yorum olduğu için kontrolleri etkilemez).
  2. let timer satırının altına let inputAt ... satırını yaz.
  3. nextRound'un son satırı olarak inputAt = 0 yaz.
  4. light fonksiyonunun altına bir boş satır bırak ve press fonksiyonunu yaz.
  5. Çalıştır. Henüz basamazsın; kontroller press'i doğrudan deneyecek.

Beceriler: Oyun durumları, Fonksiyonlar

Tüm adımlar

  1. Canvas'ı ve kalemi al
  2. Koyu bir tahta
  3. İlk tuş
  4. Her tuşa iki renk
  5. Dört tuşun hepsi
  6. Çizen bir fonksiyon
  7. Bir tuşu yak
  8. Durmadan çiz
  9. Hatırlanacak dizi
  10. Turu göster
  11. Bir tuşu bir süre yak
  12. Yeniden sön
  13. Bilgisayar bir tuş gösterir
  14. Bütün diziyi göster
  15. İzle, sonra sıra sende
  16. Her basışı kontrol et
  17. Klavyeyle oyna
  18. Bir noktada hangi tuş var?
  19. Fareyle oyna
  20. İlerleme ve hata
  21. Yeni oyun fonksiyonu
  22. Yeniden denemek için tıkla
  23. Basınca yan
  24. Gittikçe hızlan
  25. Rekoru kaydet
  26. Rekoru göster
  27. Kendin yap: oyalanmak yok