;;; compiled by eric@geech.gnu.ai.mit.edu on Mon Mar 22 13:36:00 1993
;;; from file /gd/gnu/emacs/19.0/lisp/hanoi.el
;;; emacs version 19.0.506.
;;; bytecomp version FSF 2.08
;;; optimization is on.

(fset (quote hanoi-topos) #[(row col) "À	!ˆÂÃ!ˆÄ!‡" [goto-line row forward-line 0 forward-char col] 2])
(fset 'hanoi #[(nrings) "ÁXƒ\n ÂÃ!ˆÄÄÇÈ !ÉÈ !	ÊË	Ì\"Í\"Ï\\TYƒ> V„g Ò ˆÇÈ !‰Yƒ_ ÊË	Ì\"Í\"‰V„g ÂÓ#ˆÔZVƒx ÔZ‚z *ZÕZBÖÔ\"BÖ×\"BØÄ\"ÁÁWƒÑ ÞÄß‰Ô\\\\à\\\"ß‰Ô\\\\á\"#IˆT‰‚¥ )âã!ˆÄ$åp!ˆæ ˆÁWƒü Tçá	S\"ˆècˆ‚ã )çé	S\"ˆÕ**ÌWƒEëÖ*\"\"ˆ*ì\\*WƒATíÕ!ˆîcˆïÕ!ˆðÕ!ˆ‚#)‚)ÁÄ1‰Wƒ‹ZÕZH‰1ÁZIˆëA@ZZ\"ˆò1óÄ#ˆô‰AS\"ˆT‰‚M*ó$õÁ!ˆöS$ˆebˆ÷ø!ˆó$ùú !ˆõÁ!.\n‡" [nrings 0 error "Negative number of rings" nil floor-row fly-row window-height selected-window window-width logand / 6 -2 pole-spacing 4 w h delete-other-windows "Screen is too small (need at least %dx%d)" 3 1 * 5 make-vector rings pole-3 pole-2 pole-1 i vector make-string 48 32 switch-to-buffer "*Hanoi*" buffer-read-only buffer-disable-undo erase-buffer insert-char 10 61 n hanoi-topos 2 next-line 124 delete-char backward-char ring hanoi-draw-ring t setcdr sit-for hanoi0 message "Done" set-buffer-modified-p buffer-modified-p] 10 "\
Towers of Hanoi diversion.  Argument is number of rings." (list (if (null current-prefix-arg) 3 (prefix-numeric-value current-prefix-arg)))])
(byte-code "ÀÁMˆÂÃMˆÄÅM‡" [hanoi0 #[(n from to work) "À ƒ ÁÂÃC\"‡ÅW†. ÆS	$ˆÊ	#ˆÆS	$‡" [input-pending-p signal quit "I can tell you've had enough" n 0 hanoi0 from work to hanoi-move-ring] 5] hanoi-move-ring #[(n from to) "	HÂ‰ÅH@	ZÇZ@	ZÇZA	\nÍ\"ˆVƒN ÏÂÐ#ˆÑÇ!ˆÏÐÂ#ˆÒÅ!ˆS‰‚+ Ó‰AT\"ˆÔ\n\"„­ \nVƒ† ÕÇ!ˆÖ×!ˆØÅ!ˆÙcˆÙcˆÒÅ!ˆTT‚V \nWƒV ØÅ!ˆÚ×!ˆÕÇ!ˆÙcˆÙcˆÒÅ!ˆSS‚V Í\n\"ˆ	WƒÝ ÏÂV#ˆÛÇ!ˆÏÐÂ#ˆÒÅ!ˆT‰‚¶ Å	IˆÓ‰AS\".‡" [rings n nil buffer-read-only ring 0 from 1 to dst-row dst-col col row hanoi-topos fly-row hanoi-draw-ring t previous-line sit-for setcdr equal end-of-line delete-backward-char 2 forward-line 32 delete-char next-line] 6] hanoi-draw-ring #[(ring f1 f2) "Šƒ 	ÂH‚ 	ÃH‰GÆ!ˆcˆ…- ÈÉÂ\\Ã\"!ˆÆÂ!ˆÊc+‡" [f1 ring 1 2 string len delete-char f2 backward-char / 124] 5]] 2)
