public ChessGame()
{
WhoseTurn = Player.White;
_moves = new List<DetailedMove>();
Board = new Piece[8][];
Piece kw = FenMappings['K'];
Piece kb = FenMappings['k'];
Piece qw = FenMappings['Q'];
Piece qb = FenMappings['q'];
Piece rw = FenMappings['R'];
Piece rb = FenMappings['r'];
Piece nw = FenMappings['N'];
Piece nb = FenMappings['n'];
Piece bw = FenMappings['B'];
Piece bb = FenMappings['b'];
Piece pw = FenMappings['P'];
Piece pb = FenMappings['p'];
Piece o = null;
Board = new Piece[8][]
{
new[] { rb, nb, bb, qb, kb, bb, nb, rb },
new[] { pb, pb, pb, pb, pb, pb, pb, pb },
new[] { o, o, o, o, o, o, o, o },
new[] { o, o, o, o, o, o, o, o },
new[] { o, o, o, o, o, o, o, o },
new[] { o, o, o, o, o, o, o, o },
new[] { pw, pw, pw, pw, pw, pw, pw, pw },
new[] { rw, nw, bw, qw, kw, bw, nw, rw }
};
CanBlackCastleKingSide = CanBlackCastleQueenSide = CanWhiteCastleKingSide = CanWhiteCastleQueenSide = CastlingCanBeLegal;
}