Haskell minimax,FlexibleContext

时间:2016-09-30 11:03:18

标签: haskell minimax

我是haskell的新手,需要编写一个名为minimax的函数,用于在函数(一块木板,Rose Board)和一个转向它的玩家的游戏树上进行赋值。我很遗憾地得到了一个

  

" te约束中的非类型变量参数:Num(Rose a)(使用FlexibleContext来允许这个)"

我尝试过不同的方式,但我一直遇到有关FlexibleContext的问题,我无法弄清楚FlexContext的确切方式。

minimax :: Player -> Rose Board -> Rose Int
minimax player roseBoard = minimax' player roseBoard
              where minimax' p (board :> rest) | null rest  = case hasWinner board of
                                                            Just n -> if n == p then 1 else -1 
                                                            Nothing -> 0
                                               | otherwise = 0 :> [(minimax' (nextPlayer p) (onthaak rest))]
                                                     where onthaak [a] = a  

0 个答案:

没有答案