public override GameValue GetStatusValue(GameStateT gameState) { if (!Memory.ContainsKey(Game.SerializeState(gameState))) { return(GameValue.Undecided); } return(Memory[Game.SerializeState(gameState)]); }
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]); }
public override GameValue GetStatusValue(AbstractGameState gameState) { return(Memory[Game.SerializeState(gameState)]); }