Atölye › Yazı Yağmuru › 8/33. adım

Listeden yeni bir kelime

Ne yapıyoruz

Kelimeleri elle yazmak yerine uzun bir kelime listesinden rastgele seçeceğiz. spawn (doğur) fonksiyonu ekranın tepesine yeni bir kelime koyacak.

Kelimenin yatay yeri de rastgele olacak; ama kelime ekranın sağından taşmamalı. Bunun için kelimenin kaç piksel geniş olacağını bilmeliyiz. Canvas bunu ölçebilir: önce yazı tipini ayarlarsın, sonra "şu yazı ne kadar geniş?" diye sorarsın.

```js
const WORDS = [
  'cat', 'sun', 'code', 'game', 'jump', 'fast', 'loop', 'byte', 'star', 'tree', 'rain', 'blue', 'fire', 'wind', 'moon',
  'array', 'pixel', 'mouse', 'score', 'level', 'robot', 'light', 'music', 'space', 'river', 'green', 'cloud', 'train',
  'planet', 'rocket', 'string', 'number', 'button', 'screen', 'window', 'random', 'object', 'player', 'dragon', 'puzzle',
  'keyboard', 'function', 'variable', 'computer', 'triangle', 'elephant', 'mountain', 'sandwich',
]

function spawn() {
  const text = WORDS[Math.floor(Math.random() * WORDS.length)]
  ctx.font = FONT
  const width = ctx.measureText(text).width
  words.push({ text, x: 10 + Math.random() * (canvas.width - 20 - width), y: 30 })
}
```

Ne işe yarıyor

Sıra sende

  1. const GROUND = ... satırının üstüne WORDS listesini yaz (ya da buradan kopyala: bu kod değil, bir kelime listesi).
  2. function reset() { satırının üstüne spawn fonksiyonunu yaz; altında bir boş satır kalsın.
  3. Çalıştır: henüz kimse spawn'ı çağırmıyor; ekran değişmez.

Beceriler: Diziler ve nesneler

Tüm adımlar

  1. Kelimeler için bir gökyüzü
  2. Zemin
  3. Canvas'ta bir kelime
  4. Çizen bir fonksiyon
  5. Kelime listesi
  6. Düşür
  7. Oyun döngüsü
  8. Listeden yeni bir kelime
  9. Yağmur başlasın
  10. Zemini geçince gider
  11. Bir kelimeye kilitlen
  12. Klavyeyi dinle
  13. Harf harf
  14. Yarım kelime sarı
  15. Kaybolan kelimeyi bırak
  16. Canlar
  17. Kalpler
  18. Puan
  19. Canlar bitti
  20. Oyunu dondur
  21. Oyun bitti kartı
  22. Yeniden oyna
  23. Seviyeler
  24. Gittikçe hızlanarak
  25. Rekor
  26. Doğruluk
  27. Dakikada kelime
  28. Sonunda hızın
  29. Tuşlar nereye
  30. Klavyeyi çiz
  31. Sıradaki tuşu yak
  32. Tuşlara dokun
  33. Kendin yap: fikir değiştir