Atölye › Satranç › 4/48. adım
Tahta çizildi ama üstünde ne olduğunu henüz bilmiyoruz. Oyunun durumu (hangi karede hangi taş var) çizimden ayrı, bir veride tutulmalı.
Başlangıç dizilişini satranççıların yazdığı gibi yazacağız: her sıra 8 harflik bir metin. Büyük harf beyaz, küçük
harf siyah, nokta boş kare. Harfler İngilizce adların baş harfleri: k şah (king), q vezir (queen), r kale
(rook), b fil (bishop), n at (knight), p piyon (pawn).
Sonra bu metinleri harf harf ayırıp board (tahta) adında bir diziye koyacağız. Bu adımda ekran değişmez;
tahtanın verisini hazırlıyoruz.
```js
// Row 0 is black's back rank at the top, row 7 white's at the bottom. Capitals are white.
const START = ['rnbqkbnr', 'pppppppp', '........', '........', '........', '........', 'PPPPPPPP', 'RNBQKBNR']
let board // board[row][col]: '' or a color and a kind, like 'wN' or 'bQ'
function reset() {
board = START.map((line) => [...line])
}
reset()
draw()
```const START = [ ... ] → köşeli parantez bir dizi (sıralı liste) açar. İçinde 8 metin var; ilki (sıra 0)
en üstteki siyah taşlar, sonuncusu (sıra 7) en alttaki beyazlar.let board → değeri sonradan değişecek bir değişken. Taşlar oynadıkça tahta değişeceği için let. Şimdilik
boş; reset dolduracak.function reset() { → tahtayı başlangıca döndüren fonksiyon. Yeni oyunda da onu çağıracağız.START.map(...) → map dizinin her elemanı için verilen fonksiyonu çalıştırır ve cevaplardan yeni bir
dizi yapar. 8 metin girer, 8 sonuç çıkar.(line) => [...line] → ok fonksiyonu: adsız, kısa bir fonksiyon. line o anki metin; => sonrası cevabı.
[...line] metni harflerine ayırır: [...'rn.'] → ['r', 'n', '.'].board 8 sıralık bir dizi, her sıra da 8 harflik bir dizi. board[0][4] → sıra 0, sütun 4: 'k'.reset() → oyun başlarken tahtayı kurar; draw()'dan önce gelmeli.const TOP = 56 ... satırının altına yorum satırını ve START dizisini yaz; bir boş satırdan sonra let board
satırını, bir boş satırdan sonra reset fonksiyonunu yaz. START satırını dikkatle yaz: her metin tam 8 karakter.draw() satırının üstüne reset() yaz.Beceriler: Diziler ve nesneler
← 64 karenin hepsi Renk ve tür →