Atölye › Adam Asmaca › 23/36. adım

Kaybetmek

Ne yapıyoruz

Oyunun aşamasını bir değişkende tutacağız: state (durum). Üç değeri olabilir: 'playing' (oynanıyor), 'won' (kazandın), 'lost' (kaybettin).

Bu adımda kaybetmeyi yazıyoruz: altıncı ıskada state 'lost' olur. guess da artık "ıskalar doldu mu?" yerine daha genel bir soru sorar: "oyun sürüyor mu?"

```js
let state // 'playing', 'won' or 'lost'

function newWord() {
  // ...
  state = 'playing'
}

function guess(letter) {
  if (state !== 'playing' || guessed.has(letter)) return
  guessed.add(letter)
  if (!word.includes(letter)) wrong += 1
  if (wrong === MAX_WRONG) {
    state = 'lost'
  }
}
```

Ne işe yarıyor

Sıra sende

  1. let wrong satırının altına let state // 'playing', 'won' or 'lost' yaz.
  2. newWord içinde en sona (wrong = 0'ın altına) state = 'playing' yaz.
  3. guess'in ilk satırını if (state !== 'playing' || guessed.has(letter)) return yap.
  4. guess'in sonuna, wrong += 1 satırının altına if (wrong === MAX_WRONG) { ... } bloğunu yaz.
  5. Çalıştır. Altı ıskadan sonra tahminler yine sayılmamalı; bu sefer sebebi state.

Beceriler: Oyun durumları

Tüm adımlar

  1. Gizli kelimelerin listesi
  2. Tuval ve kalem
  3. Kâğıdı boya
  4. Çizen bir fonksiyon
  5. Rastgele bir kelime seç
  6. Kelimeyi yaz
  7. Boşluklarla gizle
  8. Tahminleri hatırla
  9. Tekrar tekrar çiz
  10. Bir tahmin
  11. Klavyeyle tahmin et
  12. Sadece harfler sayılır
  13. Iskaları say
  14. Aynı harf iki kez bedava
  15. En fazla altı ıska
  16. Iskaları göster
  17. Yanlış harfleri listele
  18. Çizgi çiz
  19. Darağacı
  20. İlk ıska: baş
  21. Gövde, kollar ve bacaklar
  22. Parçalar bir listede
  23. Kaybetmek
  24. Kazanmak
  25. Kaçırdığın kelimeyi göster
  26. Bitiş mesajı
  27. Yeniden oyna
  28. Aynı kelime art arda gelmesin
  29. Galibiyet serisi
  30. En iyi seriyi hatırla
  31. Her tuş nereye
  32. Tuşları çiz
  33. Son satırı ortala
  34. Hatırlayan tuşlar
  35. Tuşa dokun
  36. Kendin yap: ipucu düğmesi