Atölye › 15 Bulmacası › 23/27. adım

Çözüldü!

Ne yapıyoruz

Oyunun aşamasını bir değişkende tutacağız: state (durum). İki değeri olacak: 'playing' (oynanıyor) ya da 'solved' (çözüldü). Her hamleden sonra isSolved() ile bakarız; çözüldüyse tahta donar, hamle kabul etmez.

```js
let state // 'playing' or 'solved'

  state = 'playing'

function move(i) {
  if (state !== 'playing' || slide) return
  // ...
  moves += 1
  if (isSolved()) {
    state = 'solved'
  }
}
```

Ne işe yarıyor

Sıra sende

  1. let moves satırının altına let state // 'playing' or 'solved' yaz.
  2. reset içinde moves = 0 satırının altına state = 'playing' yaz.
  3. move'un ilk satırını if (state !== 'playing' || slide) return yap.
  4. move'un sonuna, moves += 1 satırının altına if (isSolved()) { ... } bloğunu yaz.
  5. Çalıştır. Görüntüyü bir sonraki adımda değiştireceğiz.

Beceriler: Oyun durumları

Tüm adımlar

  1. Tek listede bir tahta
  2. Tuval ve kalem
  3. Masayı boya
  4. Çizen bir fonksiyon
  5. Satır ve sütun
  6. Her kare nerede
  7. Bir taş çiz
  8. Taşın üstündeki sayı
  9. Bütün taşlar
  10. Tekrar tekrar çiz
  11. N'den çözülmüş tahta
  12. Komşular
  13. Taş kaydır
  14. Taşa tıkla
  15. Ok tuşları
  16. Hamleleri say
  17. Gerçek kaydırmalarla karıştır
  18. Hangi tahtalar çözülür?
  19. Çözüldü mü?
  20. Kaymayı hatırla
  21. Kareleri say
  22. Akıcı kayma
  23. Çözüldü!
  24. Kazandığını göster
  25. Yeniden oyna
  26. Kırılacak bir rekor
  27. Kendin yap: bir süre sayacı