private void Start() { End.SetActive(false); game = new Awale(); //minimaxSearch = MinimaxSearch<State, int, int>.createFor(game); alphabetaSearch = AlphaBetaSearch <StateAwale, int, int> .createFor(game); CurrentState = game.getInitialState(); CheckisTerminal(); }
void AICanPlay() { int action; action = alphabetaSearch.makeDecision(CurrentState); Debug.Log("L'IA a choisi de jouer case " + action); StateAwale updateState = game.getResult(CurrentState, action); CurrentState = updateState; RefreshScore(); CheckisTerminal(); }
private void Start() { Awale game = new Awale(); MinimaxSearch <StateAwale, int, int> minimaxSearch = MinimaxSearch <StateAwale, int, int> .createFor(game); AlphaBetaSearch <StateAwale, int, int> alphabetaSearch = AlphaBetaSearch <StateAwale, int, int> .createFor(game); StateAwale state = game.getInitialState(); int action1 = -100000; int action2 = -100000; action1 = minimaxSearch.makeDecision(state); action2 = alphabetaSearch.makeDecision(state); Debug.Log("Chosen action is " + action1 + " and node minimax " + minimaxSearch.getMetrics()); Debug.Log("Chosen action is " + action2 + " and node alphabeta " + alphabetaSearch.getMetrics()); }
public void PlayerChooseCase(Button button) { int action = int.Parse(button.name); if (CurrentState.grid[action] != 0 && !game.isTerminal(CurrentState)) { StateAwale updateState = game.getResult(CurrentState, action); CurrentState = updateState; RefreshScore(); CheckisTerminal(); } else { // erreur Debug.Log("Action impossible"); return; } }