protected Position FindKing(Player player) { for (int r = 0; r < BoardHeight; r++) { for (int f = 0; f < BoardWidth; f++) { if (Board[r][f] is King && Board[r][f].Owner == player) { return new Position((File)f, 8 - r); } } } return null; }