       @mini state, α, β, ply
 
   maxi: (state, α, β, ply) ->
-    [v, a] = [-Infinity, null]
+    [v, a] = [-Limit, null]
     for action in state.possibleActions()
       successor = state.play action
       [nextValue, _] = @minimax successor, α, β, ply

# MINIMAX

[MAX, MIN] = ['MAX', 'MIN']

# Action :: Any


    [v, a]

  mini: (state, α, β, ply) ->
    [v, a] = [+Limit, null]
    for action in state.possibleActions()
      successor = state.play action
      [nextValue, _] = @minimax successor, α, β, ply
