2025-03-24 21:54:07 +09:00

37 lines
936 B
C#

using System;
using UnityEngine;
using System.Threading.Tasks;
public class OmokAI : MonoBehaviour
{
public static OmokAI Instance;
private void Awake()
{
Instance = this;
}
public void SetAIPlayerType(Enums.PlayerType AIPlayerType)
{
MiniMaxAIController.SetAIPlayerType(AIPlayerType);
}
public void SetRating(int level)
{
MiniMaxAIController.SetRating(level);
}
public async void StartBestMoveSearch(Enums.PlayerType[,] board, Action<(int, int)?> callback)
{
(int row, int col)? bestMove = await Task.Run(() => MiniMaxAIController.GetBestMove(board));
callback?.Invoke(bestMove);
}
// true: Win, false: Lose
public bool CheckGameWin(Enums.PlayerType player, Enums.PlayerType[,] board, int row, int col)
{
bool isWin = MiniMaxAIController.CheckGameWin(player, board, row, col, false);
return isWin;
}
}