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); }