Atölye › Yılan › 18/28. adım

Yön tablosu

Ne yapıyoruz

Dört if satırı neredeyse aynıydı. Bunu bir tabloya çevireceğiz: "tuş adı → yön". Oyun aynı çalışacak; ama kod daha kısa ve bir sonraki adımda yapacağımız kontrol tek yere yazılacak.

Kodun davranışını değiştirmeden düzenlemeye refactoring (yeniden düzenleme) denir.

```js
const turns = {
  ArrowUp: { x: 0, y: -1 },
  ArrowDown: { x: 0, y: 1 },
  ArrowLeft: { x: -1, y: 0 },
  ArrowRight: { x: 1, y: 0 },
}

document.addEventListener('keydown', (event) => {
  const turn = turns[event.key]
  if (!turn) return
  dir = turn
})
```

Ne işe yarıyor

Sıra sende

  1. Eski dinleyiciyi (dört if satırıyla birlikte) sil.
  2. Yerine turns tablosunu, bir boş satırı ve yeni kısa dinleyiciyi yaz.
  3. Çalıştır: ok tuşları eskisi gibi çalışmalı.

Beceriler: Yeniden düzenleme

Tüm adımlar

  1. Canvas'ı bul
  2. Kalemi al
  3. Tahtayı boya
  4. Hücrelerle düşün
  5. Yeri bir değişkende tut
  6. Çizen bir fonksiyon
  7. Hareket ettiren bir fonksiyon
  8. Oyun döngüsü
  9. Yavaşlat
  10. Gidilecek yön
  11. Ok tuşlarıyla yönlendir
  12. Listeden bir gövde
  13. Bütün gövdeyi yürüt
  14. Yeme bir yer seç
  15. Yemi çiz
  16. Ye ve büyü
  17. Yemi yılanın üstüne koyma
  18. Yön tablosu
  19. Geri dönüş yok
  20. Duvara çarpma
  21. Kendine çarpma
  22. Oyun bitti yazısı
  23. Skoru göster
  24. Oyunu başlatan tek fonksiyon
  25. Boşlukla yeniden oyna
  26. En iyi skoru hatırla
  27. Büyüdükçe hızlan
  28. Kendin yap: duvarlardan geç