/// <summary> /// Check GameState /// </summary> /// <param name="player"></param> /// <param name="board"></param> /// <returns></returns> public GameState GetGameState(Player player, Board board) { var rule = new Rules(); var numberplayerPieces = rule.NumberOfPlayerPieces(board, player); var isplayerBlocked = rule.IsPlayerBlocked(board, player); if (numberplayerPieces == 0 || isplayerBlocked) { return GameState.Lost; } var numberopponentPieces = rule.NumberOfPlayerPieces(board, board.GetOpponent(player)); var isopponentBlocked = rule.IsPlayerBlocked(board, board.GetOpponent(player)); if (numberopponentPieces == 0 || isopponentBlocked) { return GameState.Won; } else { return GameState.Undetermined; } }