Atölye › Wordle Tarzı Kelime Tahmini › 14/26. adım

Doğru harf, yanlış yer

Ne yapıyoruz

Sarı: harf kelimede var ama başka yerde. Kolay gibi, ama tekrarlanan harflere dikkat! Cevap crane, tahmin eerie olsun. Sadece sondaki e doğru; diğer iki e gri olmalı, çünkü kelimede tek bir e var ve o zaten kullanıldı.

Kural: kelimenin her harfi bir kez kullanılabilir. İki turda doğru yaparız:

  1. Önce bütün yeşilleri işaretle. Yeşille eşleşmeyen kelime harflerini say: { r: 1, a: 1, n: 1 } gibi.
  2. Sonra kalan her tahmin harfi için: sayısı hâlâ varsa sarı yap ve sayıdan bir düş; yoksa gri kalır.

Yeşiller önce gelmeli; yoksa öndeki bir sarı, arkadaki bir yeşilin ihtiyaç duyduğu harfi kullanıp bitirebilirdi.

```js
// Mark each letter: green in the right place, yellow somewhere else in the word, gray not (or not that many times).
function score(guess, word) {
  const marks = Array(5).fill('gray')
  const left = {} // letters of the word not matched by a green
  for (let i = 0; i < 5; i++) {
    if (guess[i] === word[i]) marks[i] = 'green'
    else left[word[i]] = (left[word[i]] || 0) + 1
  }
  for (let i = 0; i < 5; i++) {
    if (marks[i] !== 'green' && left[guess[i]] > 0) {
      marks[i] = 'yellow'
      left[guess[i]] -= 1
    }
  }
  return marks
}
```

Ne işe yarıyor

Sıra sende

  1. function score satırının üstüne yorum satırını yaz.
  2. const marks = ... satırının altına const left = {} ... satırını yaz.
  3. İlk döngüde if (guess[i] === word[i]) ... satırının altına else satırını yaz.
  4. return marks satırının üstüne ikinci döngüyü yaz.
  5. Çalıştır.

Beceriler: Diziler ve nesneler, Döngüler

Tüm adımlar

  1. Tuval ve kalem
  2. Arka planı boya
  3. Çizen bir fonksiyon
  4. Beş karelik bir satır
  5. Altı satır
  6. Tekrar tekrar çiz
  7. Yazılan harfler
  8. Klavyeyle yaz
  9. Harfleri göster
  10. Silme tuşu
  11. Kısayollara dokunma
  12. Gizli bir kelime
  13. Doğru harf, doğru yer
  14. Doğru harf, yanlış yer
  15. Enter tahmini gönderir
  16. Tahminleri renklendir
  17. Kazanmak ve kaybetmek
  18. Mesaj satırı
  19. Tuşlar nereye
  20. Klavyeyi çiz
  21. Tuşa dokun
  22. Enter ve Sil tuşları
  23. Hatırlayan tuşlar
  24. İstatistik tut
  25. İstatistikleri göster
  26. Kendin yap: sadece gerçek kelimeler