mirror of
https://github.com/danbee/chess
synced 2025-03-04 08:39:06 +00:00
18 lines
416 B
JavaScript
18 lines
416 B
JavaScript
import Immutable from "immutable";
|
|
import { Map } from "immutable";
|
|
|
|
const movePiece = (board, from, to) => {
|
|
const newBoard = Immutable.fromJS(board);
|
|
const piece = board[from.rank][from.file];
|
|
|
|
const boardChange = Map([
|
|
[to.rank, Map([[to.file, piece]])]
|
|
]).mergeDeep(Map([
|
|
[from.rank, Map([[from.file, null]])]
|
|
]));
|
|
|
|
return newBoard.mergeDeep(boardChange).toJS();
|
|
}
|
|
|
|
export default movePiece;
|