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

Sayılardan bir ızgara

Ne yapıyoruz

Tahtanın verisi bir 2 boyutlu dizi: 4 satırdan oluşan bir liste, her satır da 4 sayıdan oluşan bir liste. 0 boş hücre demek. Bir hücreyi board[satır][sütun] diye okuruz; tıpkı resimdeki gibi, önce satır sonra sütun.

[
  [0, 2, 0, 0],   // board[0]: en üst satır
  [0, 0, 4, 0],   // board[1][2] → 4
  ...
]

Boş tahtayı kurarken JavaScript'in en ünlü tuzaklarından biri saklı; aşağıda.

```js
let board

function newGame() {
  // Array.from calls the function for every row, so each row is its own array.
  board = Array.from({ length: SIZE }, () => Array(SIZE).fill(0))
}

newGame()
draw()
```

Ne işe yarıyor

Sıra sende

  1. const TOP = ... satırının altında bir boş satır bırak ve let board yaz.
  2. function cellX(col) { satırının üstüne newGame fonksiyonunu yaz; altında bir boş satır kalsın.
  3. En alttaki draw() satırının üstüne newGame() yaz.
  4. Çalıştır: ekran değişmez; tahta artık hafızada.

Beceriler: Diziler ve nesneler

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