summaryrefslogtreecommitdiff
path: root/lisp/hanoi.elc
blob: 62e69f90bdd8b2ad1b3e02044616ba5e12db0490 (plain)
ofshex dumpascii
0000 0a 28 64 65 66 75 6e 20 68 61 6e 6f 69 2d 74 6f 70 6f 73 20 28 72 6f 77 20 63 6f 6c 29 20 28 62 .(defun.hanoi-topos.(row.col).(b
0020 79 74 65 2d 63 6f 64 65 20 22 c2 08 21 88 c3 20 88 c4 09 21 87 22 20 5b 72 6f 77 20 63 6f 6c 20 yte-code."..!......!.".[row.col.
0040 67 6f 74 6f 2d 6c 69 6e 65 20 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 66 6f 72 77 goto-line.beginning-of-line.forw
0060 61 72 64 2d 63 68 61 72 5d 20 34 29 29 0a 0a 28 64 65 66 75 6e 20 68 61 6e 6f 69 20 28 6e 72 69 ard-char].4))..(defun.hanoi.(nri
0080 6e 67 73 29 20 22 5c 0a 54 6f 77 65 72 73 20 6f 66 20 48 61 6e 6f 69 20 64 69 76 65 72 73 69 6f ngs)."\.Towers.of.Hanoi.diversio
00a0 6e 2e 20 20 41 72 67 75 6d 65 6e 74 20 69 73 20 6e 75 6d 62 65 72 20 6f 66 20 72 69 6e 67 73 2e n...Argument.is.number.of.rings.
00c0 22 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 28 62 79 74 65 2d 63 6f 64 65 20 22 08 3f 83 09 00 ".(interactive.(byte-code.".?...
00e0 c1 82 0c 00 c2 08 21 43 87 22 20 5b 63 75 72 72 65 6e 74 2d 70 72 65 66 69 78 2d 61 72 67 20 33 ......!C.".[current-prefix-arg.3
0100 20 70 72 65 66 69 78 2d 6e 75 6d 65 72 69 63 2d 76 61 6c 75 65 5d 20 32 29 29 20 28 62 79 74 65 .prefix-numeric-value].2)).(byte
0120 2d 63 6f 64 65 20 22 cd 88 09 d3 58 85 0b 00 d4 d5 21 88 cd cd cd c5 d6 20 21 c6 d6 20 21 1e 06 -code."....X.....!.......!...!..
0140 1d 1c 1b 1a 09 d7 5c 5c d8 d9 09 53 da 5c 22 d7 db 23 1e 08 1e 07 0e 06 0e 07 59 85 3a 00 0e 06 ......\\...S.\"..#........Y.:...
0160 0e 08 56 3f 85 62 00 dc 20 88 c5 d6 20 21 89 15 0e 07 59 85 57 00 c6 d6 20 21 89 16 06 0e 08 56 ..V?.b.......!....Y.W....!.....V
0180 3f 85 62 00 d4 dd 0e 08 0e 07 23 88 de 0e 06 da 5c 22 89 12 88 df e0 0a e1 5c 22 21 3f 85 79 00 ?.b.......#.....\".......\"!?.y.
01a0 0a 54 89 12 88 0d e2 5a 0e 07 56 83 89 00 0d e2 5a 82 8a 00 0d 89 13 2a 88 e3 0b 09 e1 23 0a 0b .T.....Z..V.....Z......*.....#..
01c0 42 d9 e2 0a 5c 22 0b 42 d9 db 0a 5c 22 0b 42 e4 09 cd 5c 22 1e 0c 1e 0b 1e 0a 1e 09 1c d3 1e 0e B...\".B...\".B...\"............
01e0 0e 0e 09 57 85 e3 00 0e 0c 0e 0e e5 cd e6 d8 0e 0e 0e 0e e2 23 e7 0e 0e 5c 5c 5c 22 e6 d8 0e 0e ...W................#...\\\"....
0200 0e 0e e2 23 e8 5c 22 23 49 88 0e 0e 54 89 16 0e 88 82 b2 00 29 88 e9 ea 21 88 cd 89 16 0f 88 eb ...#.\"#I...T.......)...!.......
0220 70 21 88 ec 20 88 d3 1e 0e 0e 0e 0b 57 85 13 01 0e 0e 54 89 16 0e 88 ed e8 0e 06 53 5c 22 88 ee p!..........W.....T........S\"..
0240 63 88 82 f8 00 29 88 ed ef 0e 06 53 5c 22 88 e1 1e 10 0e 10 da 57 85 5f 01 f0 0c d9 0e 10 0a 5c c....).....S\".......W._.......\
0260 22 5c 22 88 0e 10 d7 5c 5c 89 16 10 88 0c 1e 0e 0e 0e 0b 57 85 5a 01 0e 0e 54 89 16 0e 88 f1 e1 "\"....\\..........W.Z...T......
0280 21 88 f2 63 88 f3 e1 21 88 f4 e1 21 88 82 3a 01 29 88 82 1f 01 29 88 d3 cd 1e 11 1e 0e 0e 0e 09 !..c...!...!..:.)....)..........
02a0 57 85 ac 01 0e 0c e3 09 e1 0e 0e 23 48 89 16 11 88 0e 11 d3 0b 0e 0e 5a 49 88 f0 0e 09 41 0e 09 W..........#H..........ZI....A..
02c0 40 09 0e 0e 5a 5a 5c 22 88 f5 0e 11 d2 cd 23 88 f6 0e 09 0e 09 41 53 5c 22 88 0e 0e 54 89 16 0e @...ZZ\"......#......AS\"...T...
02e0 88 82 67 01 2a 88 d2 89 16 0f 88 f7 d3 21 88 f8 09 53 0e 09 0e 0a 0e 0b 24 88 65 62 88 f9 fa 21 ..g.*........!...S......$.eb...!
0300 88 d2 89 16 0f 88 fb fc 20 21 88 f7 d3 21 2d 2d 87 22 20 5b 63 75 72 72 65 6e 74 2d 70 72 65 66 .........!...!--.".[current-pref
0320 69 78 2d 61 72 67 20 6e 72 69 6e 67 73 20 70 6f 6c 65 2d 73 70 61 63 69 6e 67 20 66 6c 6f 6f 72 ix-arg.nrings.pole-spacing.floor
0340 2d 72 6f 77 20 66 6c 79 2d 72 6f 77 20 77 69 6e 64 6f 77 2d 68 65 69 67 68 74 20 77 69 6e 64 6f -row.fly-row.window-height.windo
0360 77 2d 77 69 64 74 68 20 68 20 77 20 70 6f 6c 65 2d 31 20 70 6f 6c 65 2d 32 20 70 6f 6c 65 2d 33 w-width.h.w.pole-1.pole-2.pole-3
0380 20 72 69 6e 67 73 20 6e 69 6c 20 69 20 62 75 66 66 65 72 2d 72 65 61 64 2d 6f 6e 6c 79 20 6e 20 .rings.nil.i.buffer-read-only.n.
03a0 72 69 6e 67 20 74 20 30 20 65 72 72 6f 72 20 22 4e 65 67 61 74 69 76 65 20 6e 75 6d 62 65 72 20 ring.t.0.error."Negative.number.
03c0 6f 66 20 72 69 6e 67 73 22 20 73 65 6c 65 63 74 65 64 2d 77 69 6e 64 6f 77 20 32 20 2b 20 2a 20 of.rings".selected-window.2.+.*.
03e0 36 20 35 20 64 65 6c 65 74 65 2d 6f 74 68 65 72 2d 77 69 6e 64 6f 77 73 20 22 53 63 72 65 65 6e 6.5.delete-other-windows."Screen
0400 20 69 73 20 74 6f 6f 20 73 6d 61 6c 6c 20 28 6e 65 65 64 20 61 74 20 6c 65 61 73 74 20 25 64 78 .is.too.small.(need.at.least.%dx
0420 25 64 29 22 20 2f 20 7a 65 72 6f 70 20 6c 6f 67 61 6e 64 20 31 20 33 20 2d 20 6d 61 6b 65 2d 76 %d)"./.zerop.logand.1.3.-.make-v
0440 65 63 74 6f 72 20 76 65 63 74 6f 72 20 6d 61 6b 65 2d 73 74 72 69 6e 67 20 34 38 20 33 32 20 73 ector.vector.make-string.48.32.s
0460 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 22 2a 48 61 6e 6f 69 2a 22 20 62 75 66 66 65 72 witch-to-buffer."*Hanoi*".buffer
0480 2d 66 6c 75 73 68 2d 75 6e 64 6f 20 65 72 61 73 65 2d 62 75 66 66 65 72 20 69 6e 73 65 72 74 2d -flush-undo.erase-buffer.insert-
04a0 63 68 61 72 20 31 30 20 36 31 20 68 61 6e 6f 69 2d 74 6f 70 6f 73 20 6e 65 78 74 2d 6c 69 6e 65 char.10.61.hanoi-topos.next-line
04c0 20 31 32 34 20 64 65 6c 65 74 65 2d 63 68 61 72 20 62 61 63 6b 77 61 72 64 2d 63 68 61 72 20 68 .124.delete-char.backward-char.h
04e0 61 6e 6f 69 2d 64 72 61 77 2d 72 69 6e 67 20 73 65 74 63 64 72 20 73 69 74 2d 66 6f 72 20 68 61 anoi-draw-ring.setcdr.sit-for.ha
0500 6e 6f 69 30 20 6d 65 73 73 61 67 65 20 22 44 6f 6e 65 22 20 73 65 74 2d 62 75 66 66 65 72 2d 6d noi0.message."Done".set-buffer-m
0520 6f 64 69 66 69 65 64 2d 70 20 62 75 66 66 65 72 2d 6d 6f 64 69 66 69 65 64 2d 70 5d 20 34 36 29 odified-p.buffer-modified-p].46)
0540 29 0a 0a 28 64 65 66 75 6e 20 68 61 6e 6f 69 30 20 28 6e 20 66 72 6f 6d 20 74 6f 20 77 6f 72 6b )..(defun.hanoi0.(n.from.to.work
0560 29 20 28 62 79 74 65 2d 63 6f 64 65 20 22 c5 20 83 0d 00 c6 c7 c8 43 5c 22 82 28 00 08 c9 57 86 ).(byte-code."........C\".(...W.
0580 28 00 ca 08 53 0a 0b 0c 24 88 cb 08 0a 0c 23 88 ca 08 53 0b 0c 0a 24 87 22 20 5b 6e 20 74 20 66 (...S...$.....#...S...$.".[n.t.f
05a0 72 6f 6d 20 77 6f 72 6b 20 74 6f 20 69 6e 70 75 74 2d 70 65 6e 64 69 6e 67 2d 70 20 73 69 67 6e rom.work.to.input-pending-p.sign
05c0 61 6c 20 71 75 69 74 20 22 49 20 63 61 6e 20 74 65 6c 6c 20 79 6f 75 27 76 65 20 68 61 64 20 65 al.quit."I.can.tell.you've.had.e
05e0 6e 6f 75 67 68 22 20 30 20 68 61 6e 6f 69 30 20 68 61 6e 6f 69 2d 6d 6f 76 65 2d 72 69 6e 67 5d nough".0.hanoi0.hanoi-move-ring]
0600 20 39 29 29 0a 0a 28 64 65 66 75 6e 20 68 61 6e 6f 69 2d 6d 6f 76 65 2d 72 69 6e 67 20 28 6e 20 .9))..(defun.hanoi-move-ring.(n.
0620 66 72 6f 6d 20 74 6f 29 20 28 62 79 74 65 2d 63 6f 64 65 20 22 09 0a 48 c4 1b 18 08 cd 48 ce 0e from.to).(byte-code."..H.....H..
0640 07 40 0a cf 23 ce 0e 09 40 0a cf 23 0e 09 41 1e 0a 1e 08 1e 06 1d d0 0d 0e 06 5c 22 88 0d 0e 0b .@..#...@..#..A...........\"....
0660 56 85 4a 00 d1 08 c4 cc 23 88 d2 cf 21 88 d1 08 cc c4 23 88 d3 cd 21 88 0d 53 89 15 88 82 27 00 V.J.....#...!.....#...!..S....'.
0680 88 d4 0e 07 0e 07 41 54 5c 22 88 d5 0e 08 0e 06 5c 22 3f 85 ad 00 0e 08 0e 06 56 83 85 00 d6 cf ......AT\"......\"?.......V.....
06a0 21 88 d7 d8 21 88 d9 cf 21 88 da db db 5c 22 88 d3 cd 21 88 0e 06 54 54 89 16 06 82 a9 00 0e 08 !...!...!....\"...!...TT........
06c0 0e 06 57 85 a9 00 d9 cf 21 88 dc d8 21 88 d6 cf 21 88 da db db 5c 22 88 d3 cd 21 88 0e 06 53 53 ..W.....!...!...!....\"...!...SS
06e0 89 16 06 88 82 54 00 88 d0 0e 0b 0e 08 5c 22 88 0d 0e 0a 57 85 db 00 d1 08 c4 0d 0e 0b 56 23 88 .....T.......\"....W.........V#.
0700 dd cf 21 88 d1 08 cc c4 23 88 d3 cd 21 88 0d 54 89 15 88 82 b5 00 88 08 cd 0e 0a 49 88 d4 0e 09 ..!.....#...!..T...........I....
0720 0e 09 41 53 5c 22 2c 2a 87 22 20 5b 72 69 6e 67 20 72 69 6e 67 73 20 6e 20 62 75 66 66 65 72 2d ..AS\",*.".[ring.rings.n.buffer-
0740 72 65 61 64 2d 6f 6e 6c 79 20 6e 69 6c 20 72 6f 77 20 63 6f 6c 20 66 72 6f 6d 20 64 73 74 2d 63 read-only.nil.row.col.from.dst-c
0760 6f 6c 20 74 6f 20 64 73 74 2d 72 6f 77 20 66 6c 79 2d 72 6f 77 20 74 20 30 20 2d 20 31 20 68 61 ol.to.dst-row.fly-row.t.0.-.1.ha
0780 6e 6f 69 2d 74 6f 70 6f 73 20 68 61 6e 6f 69 2d 64 72 61 77 2d 72 69 6e 67 20 70 72 65 76 69 6f noi-topos.hanoi-draw-ring.previo
07a0 75 73 2d 6c 69 6e 65 20 73 69 74 2d 66 6f 72 20 73 65 74 63 64 72 20 65 71 75 61 6c 20 65 6e 64 us-line.sit-for.setcdr.equal.end
07c0 2d 6f 66 2d 6c 69 6e 65 20 64 65 6c 65 74 65 2d 62 61 63 6b 77 61 72 64 2d 63 68 61 72 20 32 20 -of-line.delete-backward-char.2.
07e0 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 69 6e 73 65 72 74 20 33 32 20 64 65 6c 65 beginning-of-line.insert.32.dele
0800 74 65 2d 63 68 61 72 20 6e 65 78 74 2d 6c 69 6e 65 5d 20 32 37 29 29 0a 0a 28 64 65 66 75 6e 20 te-char.next-line].27))..(defun.
0820 68 61 6e 6f 69 2d 64 72 61 77 2d 72 69 6e 67 20 28 72 69 6e 67 20 66 31 20 66 32 29 20 28 62 79 hanoi-draw-ring.(ring.f1.f2).(by
0840 74 65 2d 63 6f 64 65 20 22 8a 09 83 0b 00 0a c5 48 82 0e 00 0a c6 48 18 08 47 1b c7 0b 21 88 08 te-code.".......H.....H..G...!..
0860 63 88 0c 85 2c 00 c8 c9 0b c5 5c 5c c6 5c 22 21 88 c7 c5 21 88 ca 63 2a 29 87 22 20 5b 73 74 72 c...,.....\\.\"!...!..c*).".[str
0880 69 6e 67 20 66 31 20 72 69 6e 67 20 6c 65 6e 20 66 32 20 31 20 32 20 64 65 6c 65 74 65 2d 63 68 ing.f1.ring.len.f2.1.2.delete-ch
08a0 61 72 20 62 61 63 6b 77 61 72 64 2d 63 68 61 72 20 2f 20 31 32 34 5d 20 35 29 29 0a ar.backward-char./.124].5)).