Atölye › Satranç › 5/48. adım
'n' ile 'N' arasındaki fark (siyah at, beyaz at) harfin büyük-küçük olmasında gizli. Bu, kodda sürekli sorulacak
bir soru: "bu taş kimin?" Soruyu kolaylaştırmak için her taşı iki harfle tutacağız: önce renk, sonra tür.
'wN' → beyaz at (white kNight), 'bQ' → siyah vezir (black Queen).'' (boş metin).Böylece piece[0] rengi, piece[1] türü verecek.
```js
board = START.map((line) => [...line].map((ch) => (ch === '.' ? '' : (ch === ch.toUpperCase() ? 'w' : 'b') + ch.toUpperCase())))
```Bu uzun satırı içten dışa oku:
[...line].map((ch) => ...) → sıranın harflerinden yeni bir dizi yapar; her harfin adı ch (character).ch === '.' ? '' : ... → harf nokta ise boş kare ''. === "tam olarak eşit mi?" diye sorar.ch.toUpperCase() → harfin büyüğünü verir: 'n' → 'N'.ch === ch.toUpperCase() ? 'w' : 'b' → harf büyüğüne eşitse zaten büyüktür, yani beyazdır; değilse siyah.+ ch.toUpperCase() → metinlerde + yan yana ekler: 'b' + 'N' → 'bN'.Örnek: 'n' → nokta değil → büyüğüne eşit değil → 'b' → 'b' + 'N' = 'bN'.
Bir taşın parçalarına sonra böyle ulaşacağız: metinlerde de sayma 0'dan başlar, 'bN'[0] → 'b', 'bN'[1] →
'N'.
reset fonksiyonunun içindeki board = START.map((line) => [...line]) satırını bu uzun satırla değiştir.
(Aslında [...line]'dan sonra .map(...) kısmını eklemek yeterli.) Parantezleri sayarak yaz.Beceriler: Diziler ve nesneler, Tipler ve değerler
← Metin olarak başlangıç dizilişi Taşları çiz →