Hola, estoy tratando de crear un anidado si está en lisp, pero seguimos obteniendo el error, ¡y no sabemos cómo solucionarlo!Anidado si en lisp
** - EVAL: demasiados parámetros de operador especial SI:
(defun spread-stones-helper(game-state StoneInHand Player player-index pit-index)
;; Do we have more stones in our hand?
(if (> 0 StoneInHand)
;; Are we above the pit limit?
(if (> pit-index 5)
;; Switch the player and reset the pit-index to 0
(setq player-index (switchplayer player-index))
(setq pit-index '0)
)
;; Add 1 to the pit
(set-pit game-state player-index (GetCorrectPit player-index pit-index) (+ (get-pit game-state player-index (GetCorrectPit player-index pit-index)) 1))
;; Recursive call the function, with one less stone and 1 up in pit-index
(spread-stones-helper game-state (- StoneInHand 1) Player player-index (+ pit-index 1))
)
;; There are no more stones in hand, run capture stones
;; (captureStones game-state StoneInHand Player player-index pit-index)
)
Creo que probablemente se esté confundiendo con el extraño estilo de hendidura/muesca que ha creado. – Ken