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

Geri dönüş yok

Ne yapıyoruz

Sağa giden yılan birden sola dönerse kendi boynuna çarpar. Gerçek Yılan oyununda bu yasaktır: tam ters yöne basılırsa görmezden gelinir.

Bir incelik daha: oyuncu iki tuşa çok hızlı basarsa (yukarı, hemen sonra sol) yılan daha hareket etmeden yön iki kez değişir ve yine geri dönmüş olur. Bu yüzden seçilen yönü nextDir'de (sıradaki yön) bekletip, yılan gerçekten hareket ederken dir'e aktaracağız.

```js
let nextDir = dir

  // Ignore a turn straight back into the snake's own neck.
  if (turn.x === -dir.x && turn.y === -dir.y) return
  nextDir = turn

function update() {
  dir = nextDir
```

Ne işe yarıyor

Sıra sende

  1. let dir = ... satırının altına let nextDir = dir yaz.
  2. Dinleyicide if (!turn) return satırının altına yorum satırını ve ters yön kontrolünü yaz; dir = turn satırını nextDir = turn yap.
  3. update fonksiyonunun ilk satırı dir = nextDir olsun.
  4. Çalıştır: sağa giderken sol oka bas, yılan umursamamalı.

Beceriler: Klavye ve fare girdisi, Oyun durumları

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ç