Atölye › 2048 › 1/26. adım

2048: Tahta

Numaralı karoları kaydır, eşit olanları birleştirip 2048'e ulaş. 2 boyutlu ızgara, dört yönde yeniden kullanılan saf bir kaydır-birleştir fonksiyonu ve kaydırma girdisi.

Ne yapıyoruz

2048'i yapıyoruz: 4×4'lük bir tahtada numaralı karoları kaydırırsın, iki eşit karo çarpışınca birleşip iki katına çıkar (2 + 2 → 4, 4 + 4 → 8...). Hedef 2048 karosunu yapmak.

İlk adımda ölçüleri koyup boş tahtayı çiziyoruz: krem renkli bir sayfa, üstte skor için bir şerit, altında kare, kahverengi bir tahta.

```js
const canvas = document.getElementById('game')
const ctx = canvas.getContext('2d')

const SIZE = 4
const GAP = 12
const CELL = (canvas.width - GAP * (SIZE + 1)) / SIZE // 85
const TOP = 60 // room for the score above the board

function draw() {
  ctx.fillStyle = '#faf8ef'
  ctx.fillRect(0, 0, canvas.width, canvas.height)
  ctx.fillStyle = '#bbada0'
  ctx.fillRect(0, TOP, canvas.width, canvas.width)
}

draw()
```

Ne işe yarıyor

Sıra sende

Kodu editördeki üç yorum satırının altına yaz ve Çalıştır'a bas. Krem bir sayfa ve üstte boş bir şeridin altında kahverengi, kare bir tahta görmelisin.

Beceriler: Canvas üzerine çizim

Tüm adımlar

  1. Tahta
  2. On altı hücre
  3. Sayılardan bir ızgara
  4. Her sayıya bir renk
  5. Karolara sayılar
  6. Büyük sayı, küçük yazı
  7. Boş hücreleri bul
  8. Yeni bir karo
  9. Başlangıçta iki karo
  10. Bir satırı kaydır
  11. Eşit karoları birleştir
  12. Sola hareket
  13. Ok tuşu
  14. Yalnız gerçek hamleler sayılır
  15. Sağ, ters çevrilmiş sol
  16. Yukarı ve aşağı sütunlardır
  17. Skor
  18. Hamle kaldı mı?
  19. Oyun bitti
  20. 2048 yapmak
  21. Kazanma ve kaybetme ekranları
  22. Devam için Boşluk
  23. Rekor
  24. Kaydırmalar
  25. Dokunmak kaydırmak değildir
  26. Kendin yap: geri al