27 lines
761 B
C#
27 lines
761 B
C#
public class AIState: BasePlayerState
|
|
{
|
|
public override void OnEnter(GameLogic gameLogic)
|
|
{
|
|
gameLogic.FioTimer.StartTimer();
|
|
OmokAI.Instance.StartBestMoveSearch(gameLogic.GetBoard(), (bestMove) =>
|
|
{
|
|
if(bestMove.HasValue)
|
|
HandleMove(gameLogic, bestMove.Value.Item1, bestMove.Value.Item2);
|
|
});
|
|
}
|
|
|
|
public override void OnExit(GameLogic gameLogic)
|
|
{
|
|
gameLogic.FioTimer.InitTimer();
|
|
}
|
|
|
|
public override void HandleMove(GameLogic gameLogic, int row, int col)
|
|
{
|
|
ProcessMove(gameLogic, Enums.PlayerType.PlayerB,row, col);
|
|
}
|
|
|
|
public override void HandleNextTurn(GameLogic gameLogic)
|
|
{
|
|
gameLogic.SetState(gameLogic.FirstPlayerState);
|
|
}
|
|
} |