Atölye › 15 Bulmacası › 15/27. adım

Ok tuşları

Ne yapıyoruz

Klavyeyle de oynayalım. Oklar en doğal şöyle hissettirir: ok, taşı o yöne götürür. Sol ok, boşluğun sağındaki taşı sola kaydırır; yukarı ok, boşluğun altındaki taşı yukarı çeker.

Hangi taşın geleceğini küçük bir tablodan (nesne) buluruz: sol ok → boşluğun bir sağı (+1), yukarı ok → bir altı (+N)...

```js
// An arrow moves the tile on the other side of the gap in that direction: Left slides the tile right of the gap to the left.
document.addEventListener('keydown', (event) => {
  const gap = tiles.indexOf(0)
  const from = { ArrowLeft: 1, ArrowRight: -1, ArrowUp: N, ArrowDown: -N }[event.key]
  if (from !== undefined) {
    event.preventDefault()
    if (neighbors(gap).includes(gap + from)) move(gap + from)
  }
})
```

Ne işe yarıyor

Sıra sende

function squareX(i) { satırının üstüne yorum satırını ve dinleyiciyi yaz; arada bir boş satır kalsın. Çalıştır, oyuna bir kez tıkla ve okları dene.

Beceriler: Klavye ve fare girdisi

Tüm adımlar

  1. Tek listede bir tahta
  2. Tuval ve kalem
  3. Masayı boya
  4. Çizen bir fonksiyon
  5. Satır ve sütun
  6. Her kare nerede
  7. Bir taş çiz
  8. Taşın üstündeki sayı
  9. Bütün taşlar
  10. Tekrar tekrar çiz
  11. N'den çözülmüş tahta
  12. Komşular
  13. Taş kaydır
  14. Taşa tıkla
  15. Ok tuşları
  16. Hamleleri say
  17. Gerçek kaydırmalarla karıştır
  18. Hangi tahtalar çözülür?
  19. Çözüldü mü?
  20. Kaymayı hatırla
  21. Kareleri say
  22. Akıcı kayma
  23. Çözüldü!
  24. Kazandığını göster
  25. Yeniden oyna
  26. Kırılacak bir rekor
  27. Kendin yap: bir süre sayacı