Atölye › Adam Asmaca › 23/36. adım
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'
}
}
```let state → oyunun aşaması, bir yazı olarak. Yorum olası değerleri hatırlatıyor.state = 'playing' → newWord içinde: her yeni kelimede oyun başlar.state !== 'playing' → !== "eşit değil". "Oyun sürmüyorsa" çık. Kaybedince state 'lost' olacağı için
eski wrong === MAX_WRONG sorusuna gerek kalmadı; onu siliyoruz.if (wrong === MAX_WRONG) { state = 'lost' } → ıska sayısı altıya ulaştıysa kaybettin.let wrong satırının altına let state // 'playing', 'won' or 'lost' yaz.newWord içinde en sona (wrong = 0'ın altına) state = 'playing' yaz.guess'in ilk satırını if (state !== 'playing' || guessed.has(letter)) return yap.guess'in sonuna, wrong += 1 satırının altına if (wrong === MAX_WRONG) { ... } bloğunu yaz.state.Beceriler: Oyun durumları
← Parçalar bir listede Kazanmak →