Atölye › Adam Asmaca › 28/36. adım
Rastgele seçim aynı kelimeyi art arda verebilir; az önce bulduğun kelimenin yine gelmesi oyuncuya bozuk gibi gelir. Çözüm: yeni kelime eskisiyle aynıysa yeniden seç.
Bunun için do ... while döngüsünü kullanacağız: önce yapar, sonra kontrol eder. Zar atıp "aynı geldi, bir
daha at" demek gibi.
```js
function newWord() {
let next
do next = WORDS[Math.floor(Math.random() * WORDS.length)]
while (next === word) // never the same word twice in a row
word = next
guessed = new Set()
```let next → aday kelime için geçici bir değişken. Fonksiyonun içinde tanımlandığı için sadece orada vardır.do next = ... → önce bir aday seç.while (next === word) → aday şimdiki kelimeyle aynıysa do satırını tekrarla. Farklı olunca döngü biter.word = next → farklı olduğundan emin olduğumuz adayı kelime yap.word henüz boş (undefined), hiçbir kelimeye eşit değil; döngü bir kerede biter.newWord içindeki word = WORDS[...] satırını dört satırla değiştir: let next, do next = ... (eski satırın sağ
tarafı), while (...) ve word = next. Çalıştır.
Beceriler: Döngüler
← Yeniden oyna Galibiyet serisi →