Atölye › Satranç › 15/48. adım
Bir taşı alınca oyun, onun nereye gidebileceğini bilmeli. Hamle listemiz zaten var: pseudoMoves(turn), sırası
gelen tarafın bütün hamleleri. Bunlardan yalnız seçili kareden başlayanları süzüp targets (hedefler)
değişkeninde tutacağız.
```js
let targets // the moves of the selected piece
targets = []
selected = [r, c]
targets = pseudoMoves(turn).filter((m) => same(m.from, selected))
} else {
selected = null
targets = []
}
```let targets → seçili taşın hamleleri. reset onu boş liste [] yapar.pseudoMoves(turn) → sırası gelen tarafın bütün hamleleri..filter((m) => same(m.from, selected)) → filter listedeki her eleman için fonksiyonu sorar ve cevabı true
olanları yeni bir listede toplar. Burada: başlangıç karesi seçili kare olan hamleler.else içindeki targets = [] → seçim kalkınca hedefler de temizlenir.let selected ... satırının altına let targets ... satırını yaz.reset içinde selected = null satırının altına targets = [] yaz.clickSquare içinde selected = [r, c] satırının altına targets = pseudoMoves(...) satırını, selected = null
satırının altına targets = [] satırını yaz.Beceriler: Diziler ve nesneler
← Sıra kimde? Hedefleri göster →