public Board SetPiece(Coordinate coord, Piece piece)
{
if (piece == Piece.None)
{
return this;
}
if (GameBoard.TryGetValue(coord, out Piece _))
{
RemovePiece(coord);
}
var tmp = (Dictionary<Coordinate, Piece>)GameBoard;
tmp.Add(coord, piece);
GameBoard = tmp;
return this;
}
public Board RemovePiece(Coordinate coord)
{
var tmp = (Dictionary<Coordinate, Piece>)GameBoard;
tmp.Remove(coord);
GameBoard = tmp;
return this;
}