예제 #1
0
 public override GameValue GetStatusValue(GameStateT gameState)
 {
     if (!Memory.ContainsKey(Game.SerializeState(gameState)))
     {
         return(GameValue.Undecided);
     }
     return(Memory[Game.SerializeState(gameState)]);
 }
예제 #2
0
    public override GameMoveT GetMove(GameStateT gameState)
    {
        var moveList = Game.GenerateMoves(gameState);

        foreach (var move in moveList)
        {
            var newState = Game.DoMoveOnState(gameState, move);
            if (Memory[Game.SerializeState(newState)] == GameValue.Win)
            {
                return(move);
            }
        }
        return(moveList[0]);
    }
예제 #3
0
 public override GameValue GetStatusValue(AbstractGameState gameState)
 {
     return(Memory[Game.SerializeState(gameState)]);
 }