Atölye › Satranç › 29/48. adım
Şimdi tersini yazıyoruz: undoMove(undo), makeMove'un yaptığını tam olarak geri alır:
undo.piece taşın eski hâli: terfi eden bir piyon yine piyon olarak
döner.)```js
function undoMove(undo) {
const [fr, fc] = undo.m.from
const [tr, tc] = undo.m.to
board[fr][fc] = undo.piece
board[tr][tc] = undo.captured
turn = other(turn)
}
```undo.m.from → undo içinde sakladığımız hamlenin başlangıç karesi.board[fr][fc] = undo.piece → oynayan taşı eski yerine koy.board[tr][tc] = undo.captured → hedefe eskiden orada olanı koy.turn = other(turn) → sırayı bir kez daha çevirmek onu geri verir.makeMove fonksiyonunun kapanan }'inin altına bir boş satır bırakıp undoMove fonksiyonunu yaz.Beceriler: Fonksiyonlar
← Hatırlayan hamle Yalnız yasal hamleler →