Function: hanoi-n
hanoi-n is a byte-compiled function defined in hanoi.el.gz.
Signature
(hanoi-n BITS RINGS FROM TO WORK START-TIME)
Source Code
;; Defined in /usr/src/emacs/lisp/play/hanoi.el.gz
;; start after n moves, where BITS is a big-endian list of the bits of n.
;; BITS must be of same length as rings.
(defun hanoi-n (bits rings from to work start-time)
(cond ((null rings)
;; All rings have been placed in starting positions. Update display.
(hanoi-sit-for 0)
start-time)
((zerop (car bits))
(hanoi-insert-ring (car rings) from)
(hanoi-0 (cdr rings) work to from
(hanoi-move-ring (car rings) from to
(hanoi-n (cdr bits) (cdr rings) from work to
start-time))))
(t
(hanoi-insert-ring (car rings) to)
(hanoi-n (cdr bits) (cdr rings) work to from start-time))))