Learn by Building Atölye Beceriler GitHub English Atölye › Satranç › 11/48. adım
Şah da adım atar Ne yapıyoruz Şah da sabit bir desenle gider: 8 yöne birer kare . Onu da bir liste olarak yazınca, at için yazdığımız döngü şahı
da halleder; değişen tek şey hangi listeyi kullandığımız. Veriyle yazmanın faydası tam bu.
```js
const KING = [[1, 0], [1, 1], [0, 1], [-1, 1], [-1, 0], [-1, -1], [0, -1], [1, -1]]
if (kind === 'N' || kind === 'K') {
for (const [dr, dc] of kind === 'N' ? KNIGHT : KING) {
```Ne işe yarıyor
const KING = [...] → komşu 8 kare: aşağı, sağ-aşağı, sağ, sağ-yukarı, ...
kind === 'N' || kind === 'K' → || "veya ": taş at ya da şahsa bloğa gir.
kind === 'N' ? KNIGHT : KING → at ise at listesini, değilse şah listesini dolaş.
Sıra sende
const KNIGHT = ... satırının altına KING satırını yaz.
pseudoMoves içinde if (kind === 'N') { satırını ve altındaki for satırını koddaki gibi değiştir.
Çalıştır . Başta şahların hiç hamlesi yok: dört yanı kendi taşlarıyla çevrili.
Beceriler: Diziler ve nesneler
← Bir hamle listesi Hangi kareye tıklandı? →
Tüm adımlar Koyu bir masa Bir sıra kare 64 karenin hepsi Metin olarak başlangıç dizilişi Renk ve tür Taşları çiz Beyaza bir dış çizgi Tekrar tekrar çiz Atın sıçramaları veri olarak Bir hamle listesi Şah da adım atar Hangi kareye tıklandı? Seçili kareyi yak Sıra kimde? Nereye gidebilir? Hedefleri göster Hamleyi oyna Noktaya tıkla, oyna Sırayı yaz Kale kayar Filler ve vezirler Piyonlar ileri yürür Piyon çapraz yer Piyon vezir olur Kare saldırı altında mı? Uzaktan saldırılar Şah tehdit altında mı? Hatırlayan hamle Hamleyi geri al Yalnız yasal hamleler Rok hamleleri Kale üstünden atlar Rok hakkını kaybetmek Tehditten geçerek rok yok Çift adımı hatırla Geçerken alma Mat ve pat Şah! ve sonuç Yeniden oynamak için tıkla Son hamleyi göster Pozisyona bir puan İleriyi düşünmek En iyi hamleyi seç Alfa-beta: önemsizi atla Önce iyi görünen hamleler Siyahı bilgisayar oynar Sen beyazsın Kendin yap: elli hamle kuralı