예제 #1
0
        public void UpdateQ(BoardState oldBoardState, PlayerInput oldAction, BoardState newBoardState)
        {
            BoardState.Winner winner = BoardState.CheckForWinner(newBoardState);

            PlayerInput[] availableNewActions;

            if (winner != BoardState.Winner.None)
            {
                availableNewActions = null;
            }
            else
            {
                availableNewActions = FindAvailableActions(newBoardState, oldAction.Player).ToArray();
            }

            UpdateQ(oldBoardState, oldAction, newBoardState, availableNewActions, winner);
        }