home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / gnu / emacs-19.16 / lisp / mpuz.elc < prev    next >
Emacs Compiled Lisp  |  1993-07-05  |  9.3 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text


This file was processed as: Emacs Compiled Lisp (other/emacsCompiledLisp).
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
1% dexvert Emacs Compiled Lisp (other/emacsCompiledLisp) magic Unsupported
1% dexvert Combustion 2 Particle Library (other/combustion2ParticleLibrary) ext Unsupported
100% file Emacs/XEmacs v19 byte-compiled Lisp data default
99% file data default
55% TrID Emacs/XEmacs byte-compiled Lisp (generic) default
44% TrID Summation Document Image Information Load File default (weak)
100% xdgMime text/x-emacs-lisp default (weak)



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 3b 45 4c 43 13 00 00 00 | 0a 3b 3b 3b 20 63 6f 6d |;ELC....|.;;; com|
|00000010| 70 69 6c 65 64 20 62 79 | 20 6a 69 6d 62 40 67 65 |piled by| jimb@ge|
|00000020| 65 63 68 2e 67 6e 75 2e | 61 69 2e 6d 69 74 2e 65 |ech.gnu.|ai.mit.e|
|00000030| 64 75 20 6f 6e 20 4d 6f | 6e 20 4a 75 6c 20 20 35 |du on Mo|n Jul 5|
|00000040| 20 32 33 3a 34 32 3a 30 | 35 20 31 39 39 33 0a 3b | 23:42:0|5 1993.;|
|00000050| 3b 3b 20 66 72 6f 6d 20 | 66 69 6c 65 20 2f 67 64 |;; from |file /gd|
|00000060| 2f 67 6e 75 2f 65 6d 61 | 63 73 2f 31 39 2e 30 2f |/gnu/ema|cs/19.0/|
|00000070| 6c 69 73 70 2f 6d 70 75 | 7a 2e 65 6c 0a 3b 3b 3b |lisp/mpu|z.el.;;;|
|00000080| 20 65 6d 61 63 73 20 76 | 65 72 73 69 6f 6e 20 31 | emacs v|ersion 1|
|00000090| 39 2e 31 35 2e 31 36 2e | 0a 3b 3b 3b 20 62 79 74 |9.15.16.|.;;; byt|
|000000a0| 65 63 6f 6d 70 20 76 65 | 72 73 69 6f 6e 20 46 53 |ecomp ve|rsion FS|
|000000b0| 46 20 32 2e 31 30 0a 3b | 3b 3b 20 6f 70 74 69 6d |F 2.10.;|;; optim|
|000000c0| 69 7a 61 74 69 6f 6e 20 | 69 73 20 6f 6e 2e 0a 3b |ization |is on..;|
|000000d0| 3b 3b 20 74 68 69 73 20 | 66 69 6c 65 20 75 73 65 |;; this |file use|
|000000e0| 73 20 6f 70 63 6f 64 65 | 73 20 77 68 69 63 68 20 |s opcode|s which |
|000000f0| 64 6f 20 6e 6f 74 20 65 | 78 69 73 74 20 69 6e 20 |do not e|xist in |
|00000100| 45 6d 61 63 73 20 31 38 | 2e 0a 0a 28 69 66 20 28 |Emacs 18|...(if (|
|00000110| 61 6e 64 20 28 62 6f 75 | 6e 64 70 20 27 65 6d 61 |and (bou|ndp 'ema|
|00000120| 63 73 2d 76 65 72 73 69 | 6f 6e 29 0a 09 20 28 6f |cs-versi|on).. (o|
|00000130| 72 20 28 61 6e 64 20 28 | 62 6f 75 6e 64 70 20 27 |r (and (|boundp '|
|00000140| 65 70 6f 63 68 3a 3a 76 | 65 72 73 69 6f 6e 29 20 |epoch::v|ersion) |
|00000150| 65 70 6f 63 68 3a 3a 76 | 65 72 73 69 6f 6e 29 0a |epoch::v|ersion).|
|00000160| 09 20 20 20 20 20 28 73 | 74 72 69 6e 67 2d 6c 65 |. (s|tring-le|
|00000170| 73 73 70 20 65 6d 61 63 | 73 2d 76 65 72 73 69 6f |ssp emac|s-versio|
|00000180| 6e 20 22 31 39 22 29 29 | 29 0a 20 20 20 20 28 65 |n "19"))|). (e|
|00000190| 72 72 6f 72 20 22 54 68 | 69 73 20 66 69 6c 65 20 |rror "Th|is file |
|000001a0| 77 61 73 20 63 6f 6d 70 | 69 6c 65 64 20 66 6f 72 |was comp|iled for|
|000001b0| 20 45 6d 61 63 73 20 31 | 39 22 29 29 0a 0a 28 72 | Emacs 1|9"))..(r|
|000001c0| 61 6e 64 6f 6d 20 74 29 | 0a 28 64 65 66 61 6c 69 |andom t)|.(defali|
|000001d0| 61 73 20 27 6d 70 75 7a | 2d 72 61 6e 64 6f 6d 20 |as 'mpuz|-random |
|000001e0| 23 5b 28 6e 29 20 22 c0 | 20 09 a6 89 11 c2 57 83 |#[(n) ".| .....W.|
|000001f0| 0e 00 09 5b 87 09 87 22 | 20 5b 72 61 6e 64 6f 6d |...[..."| [random|
|00000200| 20 6e 20 30 5d 20 33 20 | 22 5c 0a 52 65 74 75 72 | n 0] 3 |"\.Retur|
|00000210| 6e 20 61 20 72 61 6e 64 | 6f 6d 20 69 6e 74 65 67 |n a rand|om integ|
|00000220| 65 72 20 62 65 74 77 65 | 65 6e 20 30 20 61 6e 64 |er betwe|en 0 and|
|00000230| 20 4e 20 2d 20 31 20 69 | 6e 63 6c 75 73 69 76 65 | N - 1 i|nclusive|
|00000240| 2e 22 5d 29 0a 28 64 65 | 66 76 61 72 20 6d 70 75 |."]).(de|fvar mpu|
|00000250| 7a 2d 73 69 6c 65 6e 74 | 20 6e 69 6c 20 22 5c 0a |z-silent| nil "\.|
|00000260| 2a 53 65 74 20 74 68 69 | 73 20 74 6f 20 54 20 69 |*Set thi|s to T i|
|00000270| 66 20 79 6f 75 20 64 6f | 6e 27 74 20 77 61 6e 74 |f you do|n't want|
|00000280| 20 64 69 6e 67 73 20 6f | 6e 20 69 6e 70 75 74 73 | dings o|n inputs|
|00000290| 2e 22 29 0a 28 64 65 66 | 61 6c 69 61 73 20 27 6d |.").(def|alias 'm|
|000002a0| 70 75 7a 2d 64 69 6e 67 | 20 23 5b 6e 69 6c 20 22 |puz-ding| #[nil "|
|000002b0| 08 86 07 00 c1 c2 21 87 | 22 20 5b 6d 70 75 7a 2d |......!.|" [mpuz-|
|000002c0| 73 69 6c 65 6e 74 20 64 | 69 6e 67 20 74 5d 20 32 |silent d|ing t] 2|
|000002d0| 20 22 5c 0a 44 69 6e 67 | 73 2c 20 75 6e 6c 65 73 | "\.Ding|s, unles|
|000002e0| 73 20 67 6c 6f 62 61 6c | 20 76 61 72 69 61 62 6c |s global| variabl|
|000002f0| 65 20 60 6d 70 75 7a 2d | 73 69 6c 65 6e 74 27 20 |e `mpuz-|silent' |
|00000300| 66 6f 72 62 69 64 73 20 | 69 74 2e 22 5d 29 0a 28 |forbids |it."]).(|
|00000310| 62 79 74 65 2d 63 6f 64 | 65 20 22 c0 c1 21 84 08 |byte-cod|e "..!..|
|00000320| 00 c2 11 c2 87 22 20 5b | 62 6f 75 6e 64 70 20 6d |....." [|boundp m|
|00000330| 70 75 7a 2d 6d 6f 64 65 | 2d 68 6f 6f 6b 20 6e 69 |puz-mode|-hook ni|
|00000340| 6c 5d 20 32 29 0a 28 64 | 65 66 76 61 72 20 6d 70 |l] 2).(d|efvar mp|
|00000350| 75 7a 2d 6d 6f 64 65 2d | 6d 61 70 20 6e 69 6c 20 |uz-mode-|map nil |
|00000360| 22 5c 0a 4c 6f 63 61 6c | 20 6b 65 79 6d 61 70 20 |"\.Local| keymap |
|00000370| 74 6f 20 75 73 65 20 69 | 6e 20 4d 75 6c 74 20 50 |to use i|n Mult P|
|00000380| 75 7a 7a 6c 65 2e 22 29 | 0a 28 62 79 74 65 2d 63 |uzzle.")|.(byte-c|
|00000390| 6f 64 65 20 22 08 84 8b | 00 c1 20 10 c2 08 c3 c4 |ode "...|.. .....|
|000003a0| 23 88 c2 08 c5 c4 23 88 | c2 08 c6 c4 23 88 c2 08 |#.....#.|....#...|
|000003b0| c7 c4 23 88 c2 08 c8 c4 | 23 88 c2 08 c9 c4 23 88 |..#.....|#.....#.|
|000003c0| c2 08 ca c4 23 88 c2 08 | cb c4 23 88 c2 08 cc c4 |....#...|..#.....|
|000003d0| 23 88 c2 08 cd c4 23 88 | c2 08 ce c4 23 88 c2 08 |#.....#.|....#...|
|000003e0| cf c4 23 88 c2 08 d0 c4 | 23 88 c2 08 d1 c4 23 88 |..#.....|#.....#.|
|000003f0| c2 08 d2 c4 23 88 c2 08 | d3 c4 23 88 c2 08 d4 c4 |....#...|..#.....|
|00000400| 23 88 c2 08 d5 c4 23 88 | c2 08 d6 c4 23 88 c2 08 |#.....#.|....#...|
|00000410| d7 c4 23 88 c2 08 d8 d9 | 23 88 c2 08 da db 23 88 |..#.....|#.....#.|
|00000420| c1 87 22 20 5b 6d 70 75 | 7a 2d 6d 6f 64 65 2d 6d |.." [mpu|z-mode-m|
|00000430| 61 70 20 6d 61 6b 65 2d | 73 70 61 72 73 65 2d 6b |ap make-|sparse-k|
|00000440| 65 79 6d 61 70 20 64 65 | 66 69 6e 65 2d 6b 65 79 |eymap de|fine-key|
|00000450| 20 22 61 22 20 6d 70 75 | 7a 2d 74 72 79 2d 6c 65 | "a" mpu|z-try-le|
|00000460| 74 74 65 72 20 22 62 22 | 20 22 63 22 20 22 64 22 |tter "b"| "c" "d"|
|00000470| 20 22 65 22 20 22 66 22 | 20 22 67 22 20 22 68 22 | "e" "f"| "g" "h"|
|00000480| 20 22 69 22 20 22 6a 22 | 20 22 41 22 20 22 42 22 | "i" "j"| "A" "B"|
|00000490| 20 22 43 22 20 22 44 22 | 20 22 45 22 20 22 46 22 | "C" "D"| "E" "F"|
|000004a0| 20 22 47 22 20 22 48 22 | 20 22 49 22 20 22 4a 22 | "G" "H"| "I" "J"|
|000004b0| 20 22 07 22 20 6d 70 75 | 7a 2d 6f 66 66 65 72 2d | "." mpu|z-offer-|
|000004c0| 61 62 6f 72 74 20 22 3f | 22 20 64 65 73 63 72 69 |abort "?|" descri|
|000004d0| 62 65 2d 6d 6f 64 65 5d | 20 34 29 0a 28 64 65 66 |be-mode]| 4).(def|
|000004e0| 61 6c 69 61 73 20 27 6d | 70 75 7a 2d 6d 6f 64 65 |alias 'm|puz-mode|
|000004f0| 20 23 5b 6e 69 6c 20 22 | c0 11 c2 13 c4 0d 21 88 | #[nil "|......!.|
|00000500| c6 c7 21 87 22 20 5b 6d | 70 75 7a 2d 6d 6f 64 65 |..!." [m|puz-mode|
|00000510| 20 6d 61 6a 6f 72 2d 6d | 6f 64 65 20 22 4d 75 6c | major-m|ode "Mul|
|00000520| 74 20 50 75 7a 7a 6c 65 | 22 20 6d 6f 64 65 2d 6e |t Puzzle|" mode-n|
|00000530| 61 6d 65 20 75 73 65 2d | 6c 6f 63 61 6c 2d 6d 61 |ame use-|local-ma|
|00000540| 70 20 6d 70 75 7a 2d 6d | 6f 64 65 2d 6d 61 70 20 |p mpuz-m|ode-map |
|00000550| 72 75 6e 2d 68 6f 6f 6b | 73 20 6d 70 75 7a 2d 6d |run-hook|s mpuz-m|
|00000560| 6f 64 65 2d 68 6f 6f 6b | 5d 20 32 20 22 5c 0a 4d |ode-hook|] 2 "\.M|
|00000570| 75 6c 74 69 70 6c 69 63 | 61 74 69 6f 6e 20 70 75 |ultiplic|ation pu|
|00000580| 7a 7a 6c 65 20 6d 6f 64 | 65 2e 0a 0a 59 6f 75 20 |zzle mod|e...You |
|00000590| 68 61 76 65 20 74 6f 20 | 67 75 65 73 73 20 77 68 |have to |guess wh|
|000005a0| 69 63 68 20 6c 65 74 74 | 65 72 73 20 73 74 61 6e |ich lett|ers stan|
|000005b0| 64 20 66 6f 72 20 77 68 | 69 63 68 20 64 69 67 69 |d for wh|ich digi|
|000005c0| 74 73 20 69 6e 20 74 68 | 65 0a 6d 75 6c 74 69 70 |ts in th|e.multip|
|000005d0| 6c 69 63 61 74 69 6f 6e | 20 64 69 73 70 6c 61 79 |lication| display|
|000005e0| 65 64 20 69 6e 73 69 64 | 65 20 74 68 65 20 60 2a |ed insid|e the `*|
|000005f0| 4d 75 6c 74 20 50 75 7a | 7a 6c 65 2a 27 20 62 75 |Mult Puz|zle*' bu|
|00000600| 66 66 65 72 2e 0a 0a 59 | 6f 75 20 6d 61 79 20 65 |ffer...Y|ou may e|
|00000610| 6e 74 65 72 20 61 20 67 | 75 65 73 73 20 66 6f 72 |nter a g|uess for|
|00000620| 20 61 20 6c 65 74 74 65 | 72 27 73 20 76 61 6c 75 | a lette|r's valu|
|00000630| 65 20 62 79 20 74 79 70 | 69 6e 67 20 66 69 72 73 |e by typ|ing firs|
|00000640| 74 20 74 68 65 20 6c 65 | 74 74 65 72 2c 0a 74 68 |t the le|tter,.th|
|00000650| 65 6e 20 74 68 65 20 64 | 69 67 69 74 2e 20 20 54 |en the d|igit. T|
|00000660| 68 75 73 2c 20 74 6f 20 | 67 75 65 73 73 20 74 68 |hus, to |guess th|
|00000670| 61 74 20 41 3d 33 2c 20 | 74 79 70 65 20 41 20 33 |at A=3, |type A 3|
|00000680| 2e 0a 0a 54 6f 20 6c 65 | 61 76 65 20 74 68 65 20 |...To le|ave the |
|00000690| 67 61 6d 65 20 74 6f 20 | 64 6f 20 6f 74 68 65 72 |game to |do other|
|000006a0| 20 65 64 69 74 69 6e 67 | 20 77 6f 72 6b 2c 20 6a | editing| work, j|
|000006b0| 75 73 74 20 73 77 69 74 | 63 68 20 62 75 66 66 65 |ust swit|ch buffe|
|000006c0| 72 73 2e 0a 54 68 65 6e | 20 79 6f 75 20 6d 61 79 |rs..Then| you may|
|000006d0| 20 72 65 73 75 6d 65 20 | 74 68 65 20 67 61 6d 65 | resume |the game|
|000006e0| 20 77 69 74 68 20 4d 2d | 78 20 6d 70 75 7a 2e 0a | with M-|x mpuz..|
|000006f0| 59 6f 75 20 6d 61 79 20 | 61 62 6f 72 74 20 61 20 |You may |abort a |
|00000700| 67 61 6d 65 20 62 79 20 | 74 79 70 69 6e 67 20 5c |game by |typing \|
|00000710| 5c 3c 6d 70 75 7a 2d 6d | 6f 64 65 2d 6d 61 70 3e |\<mpuz-m|ode-map>|
|00000720| 5c 5c 5b 6d 70 75 7a 2d | 6f 66 66 65 72 2d 61 62 |\\[mpuz-|offer-ab|
|00000730| 6f 72 74 5d 2e 22 20 6e | 69 6c 5d 29 0a 28 64 65 |ort]." n|il]).(de|
|00000740| 66 76 61 72 20 6d 70 75 | 7a 2d 6e 62 2d 65 72 72 |fvar mpu|z-nb-err|
|00000750| 6f 72 73 20 30 20 22 5c | 0a 4e 75 6d 62 65 72 20 |ors 0 "\|.Number |
|00000760| 6f 66 20 65 72 72 6f 72 | 73 20 6d 61 64 65 20 69 |of error|s made i|
|00000770| 6e 20 63 75 72 72 65 6e | 74 20 67 61 6d 65 2e 22 |n curren|t game."|
|00000780| 29 0a 28 64 65 66 76 61 | 72 20 6d 70 75 7a 2d 6e |).(defva|r mpuz-n|
|00000790| 62 2d 63 6f 6d 70 6c 65 | 74 65 64 2d 67 61 6d 65 |b-comple|ted-game|
|000007a0| 73 20 30 20 22 5c 0a 4e | 75 6d 62 65 72 20 6f 66 |s 0 "\.N|umber of|
|000007b0| 20 67 61 6d 65 73 20 63 | 6f 6d 70 6c 65 74 65 64 | games c|ompleted|
|000007c0| 2e 22 29 0a 28 64 65 66 | 76 61 72 20 6d 70 75 7a |.").(def|var mpuz|
|000007d0| 2d 6e 62 2d 63 75 6d 75 | 6c 61 74 65 64 2d 65 72 |-nb-cumu|lated-er|
|000007e0| 72 6f 72 73 20 30 20 22 | 5c 0a 4e 75 6d 62 65 72 |rors 0 "|\.Number|
|000007f0| 20 6f 66 20 65 72 72 6f | 72 73 20 6d 61 64 65 20 | of erro|rs made |
|00000800| 69 6e 20 70 72 65 76 69 | 6f 75 73 20 67 61 6d 65 |in previ|ous game|
|00000810| 73 2e 22 29 0a 28 64 65 | 66 76 61 72 20 6d 70 75 |s.").(de|fvar mpu|
|00000820| 7a 2d 69 6e 2d 70 72 6f | 67 72 65 73 73 20 6e 69 |z-in-pro|gress ni|
|00000830| 6c 20 22 5c 0a 54 72 75 | 65 20 69 66 20 61 20 67 |l "\.Tru|e if a g|
|00000840| 61 6d 65 20 69 73 20 63 | 75 72 72 65 6e 74 6c 79 |ame is c|urrently|
|00000850| 20 69 6e 20 70 72 6f 67 | 72 65 73 73 2e 22 29 0a | in prog|ress.").|
|00000860| 28 64 65 66 76 61 72 20 | 6d 70 75 7a 2d 66 6f 75 |(defvar |mpuz-fou|
|00000870| 6e 64 2d 64 69 67 69 74 | 73 20 28 6d 61 6b 65 2d |nd-digit|s (make-|
|00000880| 76 65 63 74 6f 72 20 31 | 30 20 6e 69 6c 29 20 22 |vector 1|0 nil) "|
|00000890| 5c 0a 41 20 76 65 63 74 | 6f 72 20 72 65 63 6f 72 |\.A vect|or recor|
|000008a0| 64 69 6e 67 20 77 68 69 | 63 68 20 64 69 67 69 74 |ding whi|ch digit|
|000008b0| 73 20 68 61 76 65 20 62 | 65 65 6e 20 64 65 63 72 |s have b|een decr|
|000008c0| 79 70 74 65 64 2e 22 29 | 0a 28 64 65 66 61 6c 69 |ypted.")|.(defali|
|000008d0| 61 73 20 28 71 75 6f 74 | 65 20 6d 70 75 7a 2d 64 |as (quot|e mpuz-d|
|000008e0| 69 67 69 74 2d 73 6f 6c | 76 65 64 2d 70 29 20 28 |igit-sol|ved-p) (|
|000008f0| 71 75 6f 74 65 20 28 6d | 61 63 72 6f 20 2e 20 23 |quote (m|acro . #|
|00000900| 5b 28 64 69 67 69 74 29 | 20 22 c0 c1 5c 6e 45 87 |[(digit)| "..\nE.|
|00000910| 22 20 5b 61 72 65 66 20 | 6d 70 75 7a 2d 66 6f 75 |" [aref |mpuz-fou|
|00000920| 6e 64 2d 64 69 67 69 74 | 73 20 64 69 67 69 74 5d |nd-digit|s digit]|
|00000930| 20 33 5d 29 29 29 0a 28 | 64 65 66 76 61 72 20 6d | 3]))).(|defvar m|
|00000940| 70 75 7a 2d 64 69 67 69 | 74 2d 74 6f 2d 6c 65 74 |puz-digi|t-to-let|
|00000950| 74 65 72 20 28 6d 61 6b | 65 2d 76 65 63 74 6f 72 |ter (mak|e-vector|
|00000960| 20 31 30 20 30 29 20 22 | 5c 0a 41 20 70 65 72 6d | 10 0) "|\.A perm|
|00000970| 75 74 61 74 69 6f 6e 20 | 66 72 6f 6d 20 5b 30 2e |utation |from [0.|
|00000980| 2e 39 5d 20 74 6f 20 5b | 30 2e 2e 39 5d 2e 22 29 |.9] to [|0..9].")|
|00000990| 0a 28 64 65 66 76 61 72 | 20 6d 70 75 7a 2d 6c 65 |.(defvar| mpuz-le|
|000009a0| 74 74 65 72 2d 74 6f 2d | 64 69 67 69 74 20 28 6d |tter-to-|digit (m|
|000009b0| 61 6b 65 2d 76 65 63 74 | 6f 72 20 31 30 20 30 29 |ake-vect|or 10 0)|
|000009c0| 20 22 5c 0a 54 68 65 20 | 69 6e 76 65 72 73 65 20 | "\.The |inverse |
|000009d0| 6f 66 20 6d 70 75 7a 2d | 64 69 67 69 74 2d 74 6f |of mpuz-|digit-to|
|000009e0| 2d 6c 65 74 74 65 72 2e | 22 29 0a 28 62 79 74 65 |-letter.|").(byte|
|000009f0| 2d 63 6f 64 65 20 22 c0 | c1 c2 5c 22 88 c0 c3 c4 |-code ".|..\"....|
|00000a00| 5c 22 87 22 20 5b 64 65 | 66 61 6c 69 61 73 20 6d |\"." [de|falias m|
|00000a10| 70 75 7a 2d 74 6f 2d 64 | 69 67 69 74 20 28 6d 61 |puz-to-d|igit (ma|
|00000a20| 63 72 6f 20 2e 20 23 5b | 28 6c 65 74 74 65 72 29 |cro . #[|(letter)|
|00000a30| 20 22 c0 c1 5c 6e 45 87 | 22 20 5b 61 72 65 66 20 | "..\nE.|" [aref |
|00000a40| 6d 70 75 7a 2d 6c 65 74 | 74 65 72 2d 74 6f 2d 64 |mpuz-let|ter-to-d|
|00000a50| 69 67 69 74 20 6c 65 74 | 74 65 72 5d 20 33 5d 29 |igit let|ter] 3])|
|00000a60| 20 6d 70 75 7a 2d 74 6f | 2d 6c 65 74 74 65 72 20 | mpuz-to|-letter |
|00000a70| 28 6d 61 63 72 6f 20 2e | 20 23 5b 28 64 69 67 69 |(macro .| #[(digi|
|00000a80| 74 29 20 22 c0 c1 5c 6e | 45 87 22 20 5b 61 72 65 |t) "..\n|E." [are|
|00000a90| 66 20 6d 70 75 7a 2d 64 | 69 67 69 74 2d 74 6f 2d |f mpuz-d|igit-to-|
|00000aa0| 6c 65 74 74 65 72 20 64 | 69 67 69 74 5d 20 33 5d |letter d|igit] 3]|
|00000ab0| 29 5d 20 33 29 0a 28 64 | 65 66 61 6c 69 61 73 20 |)] 3).(d|efalias |
|00000ac0| 27 6d 70 75 7a 2d 62 75 | 69 6c 64 2d 72 61 6e 64 |'mpuz-bu|ild-rand|
|00000ad0| 6f 6d 2d 70 65 72 6d 20 | 23 5b 6e 69 6c 20 22 c0 |om-perm |#[nil ".|
|00000ae0| c1 c2 c3 c4 c5 c6 c7 c8 | c9 af 5c 6e ca cb 1e 0c |........|..\n....|
|00000af0| 1e 0d 1e 0e 0e 0e 85 42 | 00 cf 0e 0d 21 0e 0e 38 |.......B|....!..8|
|00000b00| 16 0c d0 0e 0c 0e 0e 5c | 22 16 0e 0e 0d 53 16 0d |.......\|"....S..|
|00000b10| 0e 11 0e 0d 0e 0c 49 88 | 0e 12 0e 0c 0e 0d 49 88 |......I.|......I.|
|00000b20| 82 14 00 2b 87 22 20 5b | 30 20 31 20 32 20 33 20 |...+." [|0 1 2 3 |
|00000b30| 34 20 35 20 36 20 37 20 | 38 20 39 20 31 30 20 6e |4 5 6 7 |8 9 10 n|
|00000b40| 69 6c 20 65 6c 65 6d 20 | 69 6e 64 65 78 20 6c 65 |il elem |index le|
|00000b50| 74 74 65 72 73 20 6d 70 | 75 7a 2d 72 61 6e 64 6f |tters mp|uz-rando|
|00000b60| 6d 20 64 65 6c 71 20 6d | 70 75 7a 2d 64 69 67 69 |m delq m|puz-digi|
|00000b70| 74 2d 74 6f 2d 6c 65 74 | 74 65 72 20 6d 70 75 7a |t-to-let|ter mpuz|
|00000b80| 2d 6c 65 74 74 65 72 2d | 74 6f 2d 64 69 67 69 74 |-letter-|to-digit|
|00000b90| 5d 20 31 30 20 22 5c 0a | 49 6e 69 74 69 61 6c 69 |] 10 "\.|Initiali|
|00000ba0| 7a 65 20 70 75 7a 7a 6c | 65 20 63 6f 64 69 6e 67 |ze puzzl|e coding|
|00000bb0| 20 77 69 74 68 20 61 20 | 72 61 6e 64 6f 6d 20 70 | with a |random p|
|00000bc0| 65 72 6d 75 74 61 74 69 | 6f 6e 2e 22 5d 29 0a 28 |ermutati|on."]).(|
|00000bd0| 64 65 66 76 61 72 20 6d | 70 75 7a 2d 62 6f 61 72 |defvar m|puz-boar|
|00000be0| 64 20 28 6d 61 6b 65 2d | 76 65 63 74 6f 72 20 31 |d (make-|vector 1|
|00000bf0| 30 20 6e 69 6c 29 20 22 | 5c 0a 54 68 65 20 62 6f |0 nil) "|\.The bo|
|00000c00| 61 72 64 20 61 73 73 6f | 63 69 61 74 65 73 20 6f |ard asso|ciates o|
|00000c10| 74 20 61 6e 79 20 64 69 | 67 69 74 20 74 68 65 20 |t any di|git the |
|00000c20| 6c 69 73 74 20 6f 66 20 | 73 71 75 61 72 65 73 20 |list of |squares |
|00000c30| 77 68 65 72 65 20 69 74 | 20 61 70 70 65 61 72 73 |where it| appears|
|00000c40| 2e 22 29 0a 28 64 65 66 | 61 6c 69 61 73 20 27 6d |.").(def|alias 'm|
|00000c50| 70 75 7a 2d 70 75 74 2d | 64 69 67 69 74 2d 6f 6e |puz-put-|digit-on|
|00000c60| 2d 62 6f 61 72 64 20 23 | 5b 28 6e 75 6d 62 65 72 |-board #|[(number|
|00000c70| 20 73 71 75 61 72 65 29 | 20 22 08 c1 a6 10 5c 6e | square)| "....\n|
|00000c80| 08 0b 5c 6e 08 48 42 49 | 87 22 20 5b 6e 75 6d 62 |..\n.HBI|." [numb|
|00000c90| 65 72 20 31 30 20 6d 70 | 75 7a 2d 62 6f 61 72 64 |er 10 mp|uz-board|
|00000ca0| 20 73 71 75 61 72 65 5d | 20 35 20 22 5c 0a 50 75 | square]| 5 "\.Pu|
|00000cb0| 74 20 28 6c 61 73 74 20 | 64 69 67 69 74 20 6f 66 |t (last |digit of|
|00000cc0| 29 20 4e 55 4d 42 45 52 | 20 6f 6e 20 53 51 55 41 |) NUMBER| on SQUA|
|00000cd0| 52 45 20 6f 66 20 74 68 | 65 20 70 75 7a 7a 6c 65 |RE of th|e puzzle|
|00000ce0| 20 62 6f 61 72 64 2e 22 | 5d 29 0a 28 64 65 66 61 | board."|]).(defa|
|00000cf0| 6c 69 61 73 20 27 6d 70 | 75 7a 2d 63 68 65 63 6b |lias 'mp|uz-check|
|00000d00| 2d 61 6c 6c 2d 73 6f 6c | 76 65 64 20 23 5b 6e 69 |-all-sol|ved #[ni|
|00000d10| 6c 20 22 c0 c1 8d 87 22 | 20 5b 66 6f 75 6e 64 20 |l "...."| [found |
|00000d20| 28 62 79 74 65 2d 63 6f | 64 65 20 22 c0 19 c2 09 |(byte-co|de "....|
|00000d30| 54 89 11 56 83 1f 00 0b | 09 48 84 02 00 0c 09 48 |T..V....|.H.....H|
|00000d40| 83 02 00 c5 c6 c7 5c 22 | 88 82 02 00 29 c8 87 22 |......\"|....).."|
|00000d50| 20 5b 2d 31 20 64 69 67 | 69 74 20 31 30 20 6d 70 | [-1 dig|it 10 mp|
|00000d60| 75 7a 2d 66 6f 75 6e 64 | 2d 64 69 67 69 74 73 20 |uz-found|-digits |
|00000d70| 6d 70 75 7a 2d 62 6f 61 | 72 64 20 74 68 72 6f 77 |mpuz-boa|rd throw|
|00000d80| 20 66 6f 75 6e 64 20 6e | 69 6c 20 74 5d 20 33 29 | found n|il t] 3)|
|00000d90| 5d 20 32 20 22 5c 0a 43 | 68 65 63 6b 20 77 68 65 |] 2 "\.C|heck whe|
|00000da0| 74 68 65 72 20 61 6c 6c | 20 64 69 67 69 74 73 20 |ther all| digits |
|00000db0| 68 61 76 65 20 62 65 65 | 6e 20 73 6f 6c 76 65 64 |have bee|n solved|
|00000dc0| 2e 20 52 65 74 75 72 6e | 20 74 20 69 66 20 79 65 |. Return| t if ye|
|00000dd0| 73 2e 22 5d 29 0a 28 64 | 65 66 61 6c 69 61 73 20 |s."]).(d|efalias |
|00000de0| 27 6d 70 75 7a 2d 72 61 | 6e 64 6f 6d 2d 70 75 7a |'mpuz-ra|ndom-puz|
|00000df0| 7a 6c 65 20 23 5b 6e 69 | 6c 20 22 c0 20 88 c1 5c |zle #[ni|l ". ..\|
|00000e00| 6e c3 5c 22 88 c3 89 89 | 89 89 1c 1d 1e 06 1e 07 |n.\"....|........|
|00000e10| 1e 08 c9 ca 21 16 08 c9 | cb 21 16 07 0e 08 0e 07 |....!...|.!......|
|00000e20| cc a6 5f 16 06 0e 08 0e | 07 cc a5 5f 15 0e 08 0e |.._.....|..._....|
|00000e30| 07 5f 14 0e 06 ca 57 84 | 15 00 0d ca 57 84 15 00 |._....W.|....W...|
|00000e40| cd 0e 08 ce 5c 22 88 cd | 0e 08 cc a5 cf 5c 22 88 |....\"..|.....\".|
|00000e50| cd 0e 08 cb a5 d0 5c 22 | 88 cd 0e 07 d1 5c 22 88 |......\"|.....\".|
|00000e60| cd 0e 07 cc a5 d2 5c 22 | 88 cd 0e 06 d3 5c 22 88 |......\"|.....\".|
|00000e70| cd 0e 06 cc a5 d4 5c 22 | 88 cd 0e 06 cb a5 d5 5c |......\"|.......\|
|00000e80| 22 88 cd 0e 06 ca a5 d6 | 5c 22 88 cd 0d d7 5c 22 |".......|\"....\"|
|00000e90| 88 cd 0d cc a5 d8 5c 22 | 88 cd 0d cb a5 d9 5c 22 |......\"|......\"|
|00000ea0| 88 cd 0d ca a5 da 5c 22 | 88 cd 0c db 5c 22 88 cd |......\"|....\"..|
|00000eb0| 0c cc a5 dc 5c 22 88 cd | 0c cb a5 dd 5c 22 88 cd |....\"..|....\"..|
|00000ec0| 0c ca a5 de 5c 22 88 cd | 0c df a5 e0 5c 22 2d 87 |....\"..|....\"-.|
|00000ed0| 22 20 5b 6d 70 75 7a 2d | 62 75 69 6c 64 2d 72 61 |" [mpuz-|build-ra|
|00000ee0| 6e 64 6f 6d 2d 70 65 72 | 6d 20 66 69 6c 6c 61 72 |ndom-per|m fillar|
|00000ef0| 72 61 79 20 6d 70 75 7a | 2d 62 6f 61 72 64 20 6e |ray mpuz|-board n|
|00000f00| 69 6c 20 45 20 44 20 43 | 20 42 20 41 20 6d 70 75 |il E D C| B A mpu|
|00000f10| 7a 2d 72 61 6e 64 6f 6d | 20 31 30 30 30 20 31 30 |z-random| 1000 10|
|00000f20| 30 20 31 30 20 6d 70 75 | 7a 2d 70 75 74 2d 64 69 |0 10 mpu|z-put-di|
|00000f30| 67 69 74 2d 6f 6e 2d 62 | 6f 61 72 64 20 28 32 20 |git-on-b|oard (2 |
|00000f40| 2e 20 39 29 20 28 32 20 | 2e 20 37 29 20 28 32 20 |. 9) (2 |. 7) (2 |
|00000f50| 2e 20 35 29 20 28 34 20 | 2e 20 39 29 20 28 34 20 |. 5) (4 |. 9) (4 |
|00000f60| 2e 20 37 29 20 28 36 20 | 2e 20 39 29 20 28 36 20 |. 7) (6 |. 9) (6 |
|00000f70| 2e 20 37 29 20 28 36 20 | 2e 20 35 29 20 28 36 20 |. 7) (6 |. 5) (6 |
|00000f80| 2e 20 33 29 20 28 38 20 | 2e 20 37 29 20 28 38 20 |. 3) (8 |. 7) (8 |
|00000f90| 2e 20 35 29 20 28 38 20 | 2e 20 33 29 20 28 38 20 |. 5) (8 |. 3) (8 |
|00000fa0| 2e 20 31 29 20 28 31 30 | 20 2e 20 39 29 20 28 31 |. 1) (10| . 9) (1|
|00000fb0| 30 20 2e 20 37 29 20 28 | 31 30 20 2e 20 35 29 20 |0 . 7) (|10 . 5) |
|00000fc0| 28 31 30 20 2e 20 33 29 | 20 31 30 30 30 30 20 28 |(10 . 3)| 10000 (|
|00000fd0| 31 30 20 2e 20 31 29 5d | 20 35 20 22 5c 0a 44 72 |10 . 1)]| 5 "\.Dr|
|00000fe0| 61 77 20 72 61 6e 64 6f | 6d 20 76 61 6c 75 65 73 |aw rando|m values|
|00000ff0| 20 74 6f 20 62 65 20 6d | 75 6c 74 69 70 6c 69 65 | to be m|ultiplie|
|00001000| 64 20 69 6e 20 61 20 70 | 75 7a 7a 6c 65 2e 22 5d |d in a p|uzzle."]|
|00001010| 29 0a 28 64 65 66 63 6f | 6e 73 74 20 6d 70 75 7a |).(defco|nst mpuz|
|00001020| 2d 66 72 61 6d 65 77 6f | 72 6b 20 22 5c 6e 20 20 |-framewo|rk "\n |
|00001030| 20 20 20 2e 20 2e 20 2e | 5c 6e 20 20 20 20 20 20 | . . .|\n |
|00001040| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 4e 75 6d | | Num|
|00001050| 62 65 72 20 6f 66 20 65 | 72 72 6f 72 73 20 28 74 |ber of e|rrors (t|
|00001060| 68 69 73 20 67 61 6d 65 | 29 3a 20 30 5c 6e 20 20 |his game|): 0\n |
|00001070| 20 20 78 20 20 2e 20 2e | 5c 6e 20 20 20 2d 2d 2d | x . .|\n ---|
|00001080| 2d 2d 2d 2d 5c 6e 20 20 | 20 2e 20 2e 20 2e 20 2e |----\n | . . . .|
|00001090| 5c 6e 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |\n | |
|000010a0| 20 20 20 20 20 20 20 20 | 20 20 4e 75 6d 62 65 72 | | Number|
|000010b0| 20 6f 66 20 63 6f 6d 70 | 6c 65 74 65 64 20 67 61 | of comp|leted ga|
|000010c0| 6d 65 73 3a 20 30 5c 6e | 20 2e 20 2e 20 2e 20 2e |mes: 0\n| . . . .|
|000010d0| 5c 6e 20 2d 2d 2d 2d 2d | 2d 2d 2d 2d 20 20 20 20 |\n -----|---- |
|000010e0| 20 20 20 20 20 20 20 20 | 20 20 41 76 65 72 61 67 | | Averag|
|000010f0| 65 20 6e 75 6d 62 65 72 | 20 6f 66 20 65 72 72 6f |e number| of erro|
|00001100| 72 73 3a 20 30 2e 30 30 | 5c 6e 20 2e 20 2e 20 2e |rs: 0.00|\n . . .|
|00001110| 20 2e 20 2e 22 20 22 5c | 0a 54 68 65 20 67 65 6e | . ." "\|.The gen|
|00001120| 65 72 61 6c 20 70 69 63 | 74 75 72 65 20 6f 66 20 |eral pic|ture of |
|00001130| 74 68 65 20 70 75 7a 7a | 6c 65 20 73 63 72 65 65 |the puzz|le scree|
|00001140| 6e 2c 20 61 73 20 61 20 | 73 74 72 69 6e 67 2e 22 |n, as a |string."|
|00001150| 29 0a 28 64 65 66 61 6c | 69 61 73 20 27 6d 70 75 |).(defal|ias 'mpu|
|00001160| 7a 2d 63 72 65 61 74 65 | 2d 62 75 66 66 65 72 20 |z-create|-buffer |
|00001170| 23 5b 6e 69 6c 20 22 c0 | c1 21 1a 8a 5c 6e 71 88 |#[nil ".|.!..\nq.|
|00001180| c3 1c c5 20 88 0e 06 63 | 88 c7 20 88 c8 20 88 c9 |... ...c|.. .. ..|
|00001190| 20 88 2a 5c 6e 29 87 22 | 20 5b 67 65 74 2d 62 75 | .*\n)."| [get-bu|
|000011a0| 66 66 65 72 2d 63 72 65 | 61 74 65 20 22 2a 4d 75 |ffer-cre|ate "*Mu|
|000011b0| 6c 74 20 50 75 7a 7a 6c | 65 2a 22 20 62 75 66 66 |lt Puzzl|e*" buff|
|000011c0| 20 6e 69 6c 20 62 75 66 | 66 65 72 2d 72 65 61 64 | nil buf|fer-read|
|000011d0| 2d 6f 6e 6c 79 20 65 72 | 61 73 65 2d 62 75 66 66 |-only er|ase-buff|
|000011e0| 65 72 20 6d 70 75 7a 2d | 66 72 61 6d 65 77 6f 72 |er mpuz-|framewor|
|000011f0| 6b 20 6d 70 75 7a 2d 70 | 61 69 6e 74 2d 62 6f 61 |k mpuz-p|aint-boa|
|00001200| 72 64 20 6d 70 75 7a 2d | 70 61 69 6e 74 2d 65 72 |rd mpuz-|paint-er|
|00001210| 72 6f 72 73 20 6d 70 75 | 7a 2d 70 61 69 6e 74 2d |rors mpu|z-paint-|
|00001220| 73 74 61 74 69 73 74 69 | 63 73 5d 20 32 20 22 5c |statisti|cs] 2 "\|
|00001230| 0a 43 72 65 61 74 65 20 | 28 6f 72 20 72 65 63 72 |.Create |(or recr|
|00001240| 65 61 74 65 29 20 74 68 | 65 20 70 75 7a 7a 6c 65 |eate) th|e puzzle|
|00001250| 20 62 75 66 66 65 72 2e | 20 52 65 74 75 72 6e 20 | buffer.| Return |
|00001260| 69 74 2e 22 5d 29 0a 28 | 64 65 66 61 6c 69 61 73 |it."]).(|defalias|
|00001270| 20 27 6d 70 75 7a 2d 70 | 61 69 6e 74 2d 65 72 72 | 'mpuz-p|aint-err|
|00001280| 6f 72 73 20 23 5b 6e 69 | 6c 20 22 c0 20 88 c1 1a |ors #[ni|l ". ...|
|00001290| c3 c4 21 88 c5 c6 21 88 | c7 20 88 c8 0e 09 21 63 |..!...!.|. ....!c|
|000012a0| 29 87 22 20 5b 6d 70 75 | 7a 2d 73 77 69 74 63 68 |)." [mpu|z-switch|
|000012b0| 2d 74 6f 2d 77 69 6e 64 | 6f 77 20 6e 69 6c 20 62 |-to-wind|ow nil b|
|000012c0| 75 66 66 65 72 2d 72 65 | 61 64 2d 6f 6e 6c 79 20 |uffer-re|ad-only |
|000012d0| 67 6f 74 6f 2d 6c 69 6e | 65 20 33 20 6d 6f 76 65 |goto-lin|e 3 move|
|000012e0| 2d 74 6f 2d 63 6f 6c 75 | 6d 6e 20 34 39 20 6d 70 |-to-colu|mn 49 mp|
|000012f0| 75 7a 2d 64 65 6c 65 74 | 65 2d 6c 69 6e 65 20 70 |uz-delet|e-line p|
|00001300| 72 69 6e 31 2d 74 6f 2d | 73 74 72 69 6e 67 20 6d |rin1-to-|string m|
|00001310| 70 75 7a 2d 6e 62 2d 65 | 72 72 6f 72 73 5d 20 32 |puz-nb-e|rrors] 2|
|00001320| 20 22 5c 0a 50 61 69 6e | 74 20 65 72 72 6f 72 20 | "\.Pain|t error |
|00001330| 63 6f 75 6e 74 20 6f 6e | 20 74 68 65 20 70 75 7a |count on| the puz|
|00001340| 7a 6c 65 20 73 63 72 65 | 65 6e 2e 22 5d 29 0a 28 |zle scre|en."]).(|
|00001350| 64 65 66 61 6c 69 61 73 | 20 27 6d 70 75 7a 2d 70 |defalias| 'mpuz-p|
|00001360| 61 69 6e 74 2d 73 74 61 | 74 69 73 74 69 63 73 20 |aint-sta|tistics |
|00001370| 23 5b 6e 69 6c 20 22 08 | c1 55 83 5c 6e 00 c1 82 |#[nil ".|.U.\n...|
|00001380| 13 00 08 5c 6e c3 5f 5c | 5c 08 89 5c 5c a5 89 1c |...\n._\|\..\\...|
|00001390| c5 a6 1e 06 c7 1e 08 c9 | ca 21 88 cb cc 21 88 cd |........|.!...!..|
|000013a0| 20 88 ce 08 21 63 88 c9 | cf 21 88 cb d0 21 88 cd | ...!c..|.!...!..|
|000013b0| 20 88 d1 d2 0c c5 a5 0e | 06 d3 a5 0e 06 d3 a6 24 | .......|.......$|
|000013c0| 63 2b 87 22 20 5b 6d 70 | 75 7a 2d 6e 62 2d 63 6f |c+." [mp|uz-nb-co|
|000013d0| 6d 70 6c 65 74 65 64 2d | 67 61 6d 65 73 20 30 20 |mpleted-|games 0 |
|000013e0| 6d 70 75 7a 2d 6e 62 2d | 63 75 6d 75 6c 61 74 65 |mpuz-nb-|cumulate|
|000013f0| 64 2d 65 72 72 6f 72 73 | 20 32 30 30 20 6d 65 61 |d-errors| 200 mea|
|00001400| 6e 20 31 30 30 20 66 72 | 61 63 2d 70 61 72 74 20 |n 100 fr|ac-part |
|00001410| 6e 69 6c 20 62 75 66 66 | 65 72 2d 72 65 61 64 2d |nil buff|er-read-|
|00001420| 6f 6e 6c 79 20 67 6f 74 | 6f 2d 6c 69 6e 65 20 37 |only got|o-line 7|
|00001430| 20 6d 6f 76 65 2d 74 6f | 2d 63 6f 6c 75 6d 6e 20 | move-to|-column |
|00001440| 35 31 20 6d 70 75 7a 2d | 64 65 6c 65 74 65 2d 6c |51 mpuz-|delete-l|
|00001450| 69 6e 65 20 70 72 69 6e | 31 2d 74 6f 2d 73 74 72 |ine prin|1-to-str|
|00001460| 69 6e 67 20 39 20 35 30 | 20 66 6f 72 6d 61 74 20 |ing 9 50| format |
|00001470| 22 25 64 2e 25 64 25 64 | 22 20 31 30 5d 20 37 20 |"%d.%d%d|" 10] 7 |
|00001480| 22 5c 0a 50 61 69 6e 74 | 20 73 74 61 74 69 73 74 |"\.Paint| statist|
|00001490| 69 63 73 20 61 62 6f 75 | 74 20 70 72 65 76 69 6f |ics abou|t previo|
|000014a0| 75 73 20 67 61 6d 65 73 | 20 6f 6e 20 74 68 65 20 |us games| on the |
|000014b0| 70 75 7a 7a 6c 65 20 73 | 63 72 65 65 6e 2e 22 5d |puzzle s|creen."]|
|000014c0| 29 0a 28 64 65 66 61 6c | 69 61 73 20 27 6d 70 75 |).(defal|ias 'mpu|
|000014d0| 7a 2d 70 61 69 6e 74 2d | 62 6f 61 72 64 20 23 5b |z-paint-|board #[|
|000014e0| 6e 69 6c 20 22 c0 20 88 | c1 1a c3 5c 6e 54 89 12 |nil ". .|...\nT..|
|000014f0| 56 83 17 00 c4 0d 5c 6e | 48 21 88 82 05 00 29 65 |V.....\n|H!....)e|
|00001500| 62 87 22 20 5b 6d 70 75 | 7a 2d 73 77 69 74 63 68 |b." [mpu|z-switch|
|00001510| 2d 74 6f 2d 77 69 6e 64 | 6f 77 20 2d 31 20 6c 65 |-to-wind|ow -1 le|
|00001520| 74 74 65 72 20 31 30 20 | 6d 70 75 7a 2d 70 61 69 |tter 10 |mpuz-pai|
|00001530| 6e 74 2d 64 69 67 69 74 | 20 6d 70 75 7a 2d 6c 65 |nt-digit| mpuz-le|
|00001540| 74 74 65 72 2d 74 6f 2d | 64 69 67 69 74 5d 20 33 |tter-to-|digit] 3|
|00001550| 20 22 5c 0a 50 61 69 6e | 74 20 62 6f 61 72 64 20 | "\.Pain|t board |
|00001560| 73 69 74 75 61 74 69 6f | 6e 20 6f 6e 20 74 68 65 |situatio|n on the|
|00001570| 20 70 75 7a 7a 6c 65 20 | 73 63 72 65 65 6e 2e 22 | puzzle |screen."|
|00001580| 5d 29 0a 28 64 65 66 61 | 6c 69 61 73 20 27 6d 70 |]).(defa|lias 'mp|
|00001590| 75 7a 2d 70 61 69 6e 74 | 2d 64 69 67 69 74 20 23 |uz-paint|-digit #|
|000015a0| 5b 28 64 69 67 69 74 29 | 20 22 08 09 48 83 0c 00 |[(digit)| "..H...|
|000015b0| 09 c2 5c 5c 82 11 00 0b | 09 48 c4 5c 5c 0d 09 48 |..\\....|.H.\\..H|
|000015c0| 1e 06 1e 07 c8 1e 09 0e | 06 85 44 00 ca 0e 06 40 |........|..D....@|
|000015d0| 40 21 88 cb 0e 06 40 41 | 21 88 0e 07 63 88 cc cd |@!....@A|!...c...|
|000015e0| 21 88 ce cd 21 88 0e 06 | 41 89 16 06 84 20 00 c8 |!...!...|A.... ..|
|000015f0| 2b 87 22 20 5b 6d 70 75 | 7a 2d 66 6f 75 6e 64 2d |+." [mpu|z-found-|
|00001600| 64 69 67 69 74 73 20 64 | 69 67 69 74 20 34 38 20 |digits d|igit 48 |
|00001610| 6d 70 75 7a 2d 64 69 67 | 69 74 2d 74 6f 2d 6c 65 |mpuz-dig|it-to-le|
|00001620| 74 74 65 72 20 36 35 20 | 6d 70 75 7a 2d 62 6f 61 |tter 65 |mpuz-boa|
|00001630| 72 64 20 73 71 75 61 72 | 65 2d 6c 20 63 68 61 72 |rd squar|e-l char|
|00001640| 20 6e 69 6c 20 62 75 66 | 66 65 72 2d 72 65 61 64 | nil buf|fer-read|
|00001650| 2d 6f 6e 6c 79 20 67 6f | 74 6f 2d 6c 69 6e 65 20 |-only go|to-line |
|00001660| 6d 6f 76 65 2d 74 6f 2d | 63 6f 6c 75 6d 6e 20 64 |move-to-|column d|
|00001670| 65 6c 65 74 65 2d 63 68 | 61 72 20 31 20 62 61 63 |elete-ch|ar 1 bac|
|00001680| 6b 77 61 72 64 2d 63 68 | 61 72 5d 20 34 20 22 5c |kward-ch|ar] 4 "\|
|00001690| 0a 50 61 69 6e 74 20 61 | 6c 6c 20 6f 63 63 75 72 |.Paint a|ll occur|
|000016a0| 72 65 6e 63 65 73 20 6f | 66 20 44 49 47 49 54 20 |rences o|f DIGIT |
|000016b0| 6f 6e 20 74 68 65 20 70 | 75 7a 7a 6c 65 20 62 6f |on the p|uzzle bo|
|000016c0| 61 72 64 2e 22 5d 29 0a | 28 64 65 66 61 6c 69 61 |ard."]).|(defalia|
|000016d0| 73 20 27 6d 70 75 7a 2d | 64 65 6c 65 74 65 2d 6c |s 'mpuz-|delete-l|
|000016e0| 69 6e 65 20 23 5b 6e 69 | 6c 20 22 60 66 c0 55 3f |ine #[ni|l "`f.U?|
|000016f0| 85 0f 00 c1 c2 21 88 82 | 00 00 87 22 20 5b 31 30 |.....!..|..." [10|
|00001700| 20 64 65 6c 65 74 65 2d | 63 68 61 72 20 31 5d 20 | delete-|char 1] |
|00001710| 32 20 22 5c 0a 43 6c 65 | 61 72 20 66 72 6f 6d 20 |2 "\.Cle|ar from |
|00001720| 70 6f 69 6e 74 20 74 6f | 20 6e 65 78 74 20 6e 65 |point to| next ne|
|00001730| 77 6c 69 6e 65 2e 22 5d | 29 0a 28 64 65 66 61 6c |wline."]|).(defal|
|00001740| 69 61 73 20 27 6d 70 75 | 7a 2d 67 65 74 2d 62 75 |ias 'mpu|z-get-bu|
|00001750| 66 66 65 72 20 23 5b 6e | 69 6c 20 22 c0 c1 21 87 |ffer #[n|il "..!.|
|00001760| 22 20 5b 67 65 74 2d 62 | 75 66 66 65 72 20 22 2a |" [get-b|uffer "*|
|00001770| 4d 75 6c 74 20 50 75 7a | 7a 6c 65 2a 22 5d 20 32 |Mult Puz|zle*"] 2|
|00001780| 20 22 5c 0a 47 65 74 20 | 74 68 65 20 70 75 7a 7a | "\.Get |the puzz|
|00001790| 6c 65 20 62 75 66 66 65 | 72 20 69 66 20 69 74 20 |le buffe|r if it |
|000017a0| 65 78 69 73 74 73 2e 22 | 5d 29 0a 28 64 65 66 61 |exists."|]).(defa|
|000017b0| 6c 69 61 73 20 27 6d 70 | 75 7a 2d 73 77 69 74 63 |lias 'mp|uz-switc|
|000017c0| 68 2d 74 6f 2d 77 69 6e | 64 6f 77 20 23 5b 6e 69 |h-to-win|dow #[ni|
|000017d0| 6c 20 22 c0 20 89 19 84 | 5c 6e 00 c2 20 11 c3 09 |l ". ...|\n.. ...|
|000017e0| 21 88 0c 84 15 00 c5 20 | 88 c6 20 29 87 22 20 5b |!...... |.. )." [|
|000017f0| 6d 70 75 7a 2d 67 65 74 | 2d 62 75 66 66 65 72 20 |mpuz-get|-buffer |
|00001800| 62 75 66 66 20 6d 70 75 | 7a 2d 63 72 65 61 74 65 |buff mpu|z-create|
|00001810| 2d 62 75 66 66 65 72 20 | 73 77 69 74 63 68 2d 74 |-buffer |switch-t|
|00001820| 6f 2d 62 75 66 66 65 72 | 20 62 75 66 66 65 72 2d |o-buffer| buffer-|
|00001830| 72 65 61 64 2d 6f 6e 6c | 79 20 74 6f 67 67 6c 65 |read-onl|y toggle|
|00001840| 2d 72 65 61 64 2d 6f 6e | 6c 79 20 6d 70 75 7a 2d |-read-on|ly mpuz-|
|00001850| 6d 6f 64 65 5d 20 33 20 | 22 5c 0a 46 69 6e 64 20 |mode] 3 |"\.Find |
|00001860| 6f 72 20 63 72 65 61 74 | 65 20 74 68 65 20 4d 75 |or creat|e the Mu|
|00001870| 6c 74 2d 50 75 7a 7a 6c | 65 20 62 75 66 66 65 72 |lt-Puzzl|e buffer|
|00001880| 2c 20 61 6e 64 20 64 69 | 73 70 6c 61 79 20 69 74 |, and di|splay it|
|00001890| 2e 22 5d 29 0a 28 64 65 | 66 61 6c 69 61 73 20 27 |."]).(de|falias '|
|000018a0| 6d 70 75 7a 2d 61 62 6f | 72 74 2d 67 61 6d 65 20 |mpuz-abo|rt-game |
|000018b0| 23 5b 6e 69 6c 20 22 c0 | c1 21 88 c2 13 c4 15 c6 |#[nil ".|.!......|
|000018c0| 0e 07 c2 5c 22 88 c8 20 | 89 1e 09 85 1a 00 ca 0e |...\".. |........|
|000018d0| 09 21 29 87 22 20 5b 6d | 65 73 73 61 67 65 20 22 |.!)." [m|essage "|
|000018e0| 4d 75 6c 74 20 50 75 7a | 7a 6c 65 20 61 62 6f 72 |Mult Puz|zle abor|
|000018f0| 74 65 64 2e 22 20 6e 69 | 6c 20 6d 70 75 7a 2d 69 |ted." ni|l mpuz-i|
|00001900| 6e 2d 70 72 6f 67 72 65 | 73 73 20 30 20 6d 70 75 |n-progre|ss 0 mpu|
|00001910| 7a 2d 6e 62 2d 65 72 72 | 6f 72 73 20 66 69 6c 6c |z-nb-err|ors fill|
|00001920| 61 72 72 61 79 20 6d 70 | 75 7a 2d 62 6f 61 72 64 |array mp|uz-board|
|00001930| 20 6d 70 75 7a 2d 67 65 | 74 2d 62 75 66 66 65 72 | mpuz-ge|t-buffer|
|00001940| 20 62 75 66 66 20 6b 69 | 6c 6c 2d 62 75 66 66 65 | buff ki|ll-buffe|
|00001950| 72 5d 20 34 20 22 5c 0a | 41 62 6f 72 74 20 61 6e |r] 4 "\.|Abort an|
|00001960| 79 20 70 75 7a 7a 6c 65 | 20 69 6e 20 70 72 6f 67 |y puzzle| in prog|
|00001970| 72 65 73 73 2e 22 5d 29 | 0a 28 64 65 66 61 6c 69 |ress."])|.(defali|
|00001980| 61 73 20 27 6d 70 75 7a | 2d 73 74 61 72 74 2d 6e |as 'mpuz|-start-n|
|00001990| 65 77 2d 67 61 6d 65 20 | 23 5b 6e 69 6c 20 22 c0 |ew-game |#[nil ".|
|000019a0| c1 21 88 c2 13 c4 15 c6 | 0e 07 c8 5c 22 88 c9 20 |.!......|...\".. |
|000019b0| 88 ca 20 88 cb 20 88 cc | 20 88 cd 20 87 22 20 5b |.. .. ..| .. ." [|
|000019c0| 6d 65 73 73 61 67 65 20 | 22 48 65 72 65 20 77 65 |message |"Here we|
|000019d0| 20 67 6f 2e 2e 2e 22 20 | 30 20 6d 70 75 7a 2d 6e | go..." |0 mpuz-n|
|000019e0| 62 2d 65 72 72 6f 72 73 | 20 74 20 6d 70 75 7a 2d |b-errors| t mpuz-|
|000019f0| 69 6e 2d 70 72 6f 67 72 | 65 73 73 20 66 69 6c 6c |in-progr|ess fill|
|00001a00| 61 72 72 61 79 20 6d 70 | 75 7a 2d 66 6f 75 6e 64 |array mp|uz-found|
|00001a10| 2d 64 69 67 69 74 73 20 | 6e 69 6c 20 6d 70 75 7a |-digits |nil mpuz|
|00001a20| 2d 72 61 6e 64 6f 6d 2d | 70 75 7a 7a 6c 65 20 6d |-random-|puzzle m|
|00001a30| 70 75 7a 2d 73 77 69 74 | 63 68 2d 74 6f 2d 77 69 |puz-swit|ch-to-wi|
|00001a40| 6e 64 6f 77 20 6d 70 75 | 7a 2d 70 61 69 6e 74 2d |ndow mpu|z-paint-|
|00001a50| 62 6f 61 72 64 20 6d 70 | 75 7a 2d 70 61 69 6e 74 |board mp|uz-paint|
|00001a60| 2d 65 72 72 6f 72 73 20 | 6d 70 75 7a 2d 61 73 6b |-errors |mpuz-ask|
|00001a70| 2d 66 6f 72 2d 74 72 79 | 5d 20 33 20 22 5c 0a 53 |-for-try|] 3 "\.S|
|00001a80| 74 61 72 74 20 61 20 6e | 65 77 20 70 75 7a 7a 6c |tart a n|ew puzzl|
|00001a90| 65 2e 22 5d 29 0a 28 64 | 65 66 61 6c 69 61 73 20 |e."]).(d|efalias |
|00001aa0| 27 6d 70 75 7a 2d 6f 66 | 66 65 72 2d 6e 65 77 2d |'mpuz-of|fer-new-|
|00001ab0| 67 61 6d 65 20 23 5b 6e | 69 6c 20 22 c0 c1 21 83 |game #[n|il "..!.|
|00001ac0| 09 00 c2 20 87 c3 c4 21 | 87 22 20 5b 79 2d 6f 72 |... ...!|." [y-or|
|00001ad0| 2d 6e 2d 70 20 22 53 74 | 61 72 74 20 61 20 6e 65 |-n-p "St|art a ne|
|00001ae0| 77 20 67 61 6d 65 20 22 | 20 6d 70 75 7a 2d 73 74 |w game "| mpuz-st|
|00001af0| 61 72 74 2d 6e 65 77 2d | 67 61 6d 65 20 6d 65 73 |art-new-|game mes|
|00001b00| 73 61 67 65 20 22 4f 4b | 2e 20 49 20 77 6f 6e 27 |sage "OK|. I won'|
|00001b10| 74 2e 22 5d 20 32 20 22 | 5c 0a 41 73 6b 20 69 66 |t."] 2 "|\.Ask if|
|00001b20| 20 75 73 65 72 20 77 61 | 6e 74 73 20 74 6f 20 73 | user wa|nts to s|
|00001b30| 74 61 72 74 20 61 20 6e | 65 77 20 70 75 7a 7a 6c |tart a n|ew puzzl|
|00001b40| 65 2e 22 5d 29 0a 28 64 | 65 66 61 6c 69 61 73 20 |e."]).(d|efalias |
|00001b50| 27 6d 70 75 7a 20 23 5b | 6e 69 6c 20 22 c0 20 88 |'mpuz #[|nil ". .|
|00001b60| 09 83 5c 6e 00 c2 20 87 | c3 20 87 22 20 5b 6d 70 |..\n.. .|. ." [mp|
|00001b70| 75 7a 2d 73 77 69 74 63 | 68 2d 74 6f 2d 77 69 6e |uz-switc|h-to-win|
|00001b80| 64 6f 77 20 6d 70 75 7a | 2d 69 6e 2d 70 72 6f 67 |dow mpuz|-in-prog|
|00001b90| 72 65 73 73 20 6d 70 75 | 7a 2d 6f 66 66 65 72 2d |ress mpu|z-offer-|
|00001ba0| 61 62 6f 72 74 20 6d 70 | 75 7a 2d 73 74 61 72 74 |abort mp|uz-start|
|00001bb0| 2d 6e 65 77 2d 67 61 6d | 65 5d 20 31 20 22 5c 0a |-new-gam|e] 1 "\.|
|00001bc0| 4d 75 6c 74 69 70 6c 69 | 63 61 74 69 6f 6e 20 70 |Multipli|cation p|
|00001bd0| 75 7a 7a 6c 65 20 77 69 | 74 68 20 47 4e 55 20 45 |uzzle wi|th GNU E|
|00001be0| 6d 61 63 73 2e 22 20 6e | 69 6c 5d 29 0a 28 64 65 |macs." n|il]).(de|
|00001bf0| 66 61 6c 69 61 73 20 27 | 6d 70 75 7a 2d 6f 66 66 |falias '|mpuz-off|
|00001c00| 65 72 2d 61 62 6f 72 74 | 20 23 5b 6e 69 6c 20 22 |er-abort| #[nil "|
|00001c10| c0 c1 21 83 09 00 c2 20 | 87 c3 20 87 22 20 5b 79 |..!.... |.. ." [y|
|00001c20| 2d 6f 72 2d 6e 2d 70 20 | 22 41 62 6f 72 74 20 67 |-or-n-p |"Abort g|
|00001c30| 61 6d 65 20 22 20 6d 70 | 75 7a 2d 61 62 6f 72 74 |ame " mp|uz-abort|
|00001c40| 2d 67 61 6d 65 20 6d 70 | 75 7a 2d 61 73 6b 2d 66 |-game mp|uz-ask-f|
|00001c50| 6f 72 2d 74 72 79 5d 20 | 32 20 22 5c 0a 41 73 6b |or-try] |2 "\.Ask|
|00001c60| 20 69 66 20 75 73 65 72 | 20 77 61 6e 74 73 20 74 | if user| wants t|
|00001c70| 6f 20 61 62 6f 72 74 20 | 63 75 72 72 65 6e 74 20 |o abort |current |
|00001c80| 70 75 7a 7a 6c 65 2e 22 | 20 6e 69 6c 5d 29 0a 28 |puzzle."| nil]).(|
|00001c90| 64 65 66 61 6c 69 61 73 | 20 27 6d 70 75 7a 2d 61 |defalias| 'mpuz-a|
|00001ca0| 73 6b 2d 66 6f 72 2d 74 | 72 79 20 23 5b 6e 69 6c |sk-for-t|ry #[nil|
|00001cb0| 20 22 c0 c1 21 87 22 20 | 5b 6d 65 73 73 61 67 65 | "..!." |[message|
|00001cc0| 20 22 59 6f 75 72 20 74 | 72 79 20 3f 22 5d 20 32 | "Your t|ry ?"] 2|
|00001cd0| 20 22 5c 0a 41 73 6b 20 | 66 6f 72 20 75 73 65 72 | "\.Ask |for user|
|00001ce0| 20 70 72 6f 70 6f 73 61 | 6c 20 69 6e 20 70 75 7a | proposa|l in puz|
|00001cf0| 7a 6c 65 2e 22 5d 29 0a | 28 64 65 66 61 6c 69 61 |zle."]).|(defalia|
|00001d00| 73 20 27 6d 70 75 7a 2d | 74 72 79 2d 6c 65 74 74 |s 'mpuz-|try-lett|
|00001d10| 65 72 20 23 5b 6e 69 6c | 20 22 08 83 62 00 c1 89 |er #[nil| "..b...|
|00001d20| 89 89 1a 1b 1c 1d 0e 06 | 96 15 0e 07 0d c8 5a 48 |........|......ZH|
|00001d30| 14 0e 09 0c 48 83 25 00 | c2 ca 0d 5c 22 82 60 00 |....H.%.|...\".`.|
|00001d40| 0e 0b 0c 48 84 33 00 c2 | cc 0d 5c 22 82 60 00 c2 |...H.3..|..\".`..|
|00001d50| cd 0d 5c 22 88 ce 20 89 | 13 cf 3d 83 44 00 ce 20 |..\".. .|..=.D.. |
|00001d60| 13 c2 d0 0d 0b 23 88 0b | d1 56 84 56 00 0b d2 57 |.....#..|.V.V...W|
|00001d70| 83 5c 5c 00 d3 d4 21 82 | 60 00 d5 0d 0b 5c 22 2c |.\\...!.|`....\",|
|00001d80| 87 d6 20 87 22 20 5b 6d | 70 75 7a 2d 69 6e 2d 70 |.. ." [m|puz-in-p|
|00001d90| 72 6f 67 72 65 73 73 20 | 6e 69 6c 20 6d 65 73 73 |rogress |nil mess|
|00001da0| 61 67 65 20 64 69 67 69 | 74 2d 63 68 61 72 20 64 |age digi|t-char d|
|00001db0| 69 67 69 74 20 6c 65 74 | 74 65 72 2d 63 68 61 72 |igit let|ter-char|
|00001dc0| 20 6c 61 73 74 2d 63 6f | 6d 6d 61 6e 64 2d 63 68 | last-co|mmand-ch|
|00001dd0| 61 72 20 6d 70 75 7a 2d | 6c 65 74 74 65 72 2d 74 |ar mpuz-|letter-t|
|00001de0| 6f 2d 64 69 67 69 74 20 | 36 35 20 6d 70 75 7a 2d |o-digit |65 mpuz-|
|00001df0| 66 6f 75 6e 64 2d 64 69 | 67 69 74 73 20 22 25 63 |found-di|gits "%c|
|00001e00| 20 61 6c 72 65 61 64 79 | 20 73 6f 6c 76 65 64 2e | already| solved.|
|00001e10| 22 20 6d 70 75 7a 2d 62 | 6f 61 72 64 20 22 25 63 |" mpuz-b|oard "%c|
|00001e20| 20 64 6f 65 73 20 6e 6f | 74 20 61 70 70 65 61 72 | does no|t appear|
|00001e30| 2e 22 20 22 25 63 20 3d | 20 22 20 72 65 61 64 2d |." "%c =| " read-|
|00001e40| 63 68 61 72 20 36 31 20 | 22 25 63 20 3d 20 25 63 |char 61 |"%c = %c|
|00001e50| 22 20 35 37 20 34 38 20 | 64 69 6e 67 20 74 20 6d |" 57 48 |ding t m|
|00001e60| 70 75 7a 2d 74 72 79 2d | 70 72 6f 70 6f 73 61 6c |puz-try-|proposal|
|00001e70| 20 6d 70 75 7a 2d 6f 66 | 66 65 72 2d 6e 65 77 2d | mpuz-of|fer-new-|
|00001e80| 67 61 6d 65 5d 20 35 20 | 22 5c 0a 50 72 6f 70 6f |game] 5 |"\.Propo|
|00001e90| 73 65 20 61 20 64 69 67 | 69 74 20 66 6f 72 20 61 |se a dig|it for a|
|00001ea0| 20 6c 65 74 74 65 72 20 | 69 6e 20 70 75 7a 7a 6c | letter |in puzzl|
|00001eb0| 65 2e 22 20 6e 69 6c 5d | 29 0a 28 64 65 66 61 6c |e." nil]|).(defal|
|00001ec0| 69 61 73 20 27 6d 70 75 | 7a 2d 74 72 79 2d 70 72 |ias 'mpu|z-try-pr|
|00001ed0| 6f 70 6f 73 61 6c 20 23 | 5b 28 6c 65 74 74 65 72 |oposal #|[(letter|
|00001ee0| 2d 63 68 61 72 20 64 69 | 67 69 74 2d 63 68 61 72 |-char di|git-char|
|00001ef0| 29 20 22 08 c1 5a 1a 0b | c4 5a 1d 0e 06 5c 6e 48 |) "..Z..|.Z...\nH|
|00001f00| 1e 07 0e 08 0e 07 48 83 | 1c 00 c9 ca 21 82 42 00 |......H.|....!.B.|
|00001f10| 0d 0e 07 55 83 32 00 c9 | cb 08 0b 23 88 cc 20 88 |...U.2..|...#.. .|
|00001f20| cd 0d 21 82 42 00 c9 ce | 08 0b 23 88 cc 20 88 0e |..!.B...|..#.. ..|
|00001f30| 0f 54 16 0f d0 20 2b 87 | 22 20 5b 6c 65 74 74 65 |.T... +.|" [lette|
|00001f40| 72 2d 63 68 61 72 20 36 | 35 20 6c 65 74 74 65 72 |r-char 6|5 letter|
|00001f50| 20 64 69 67 69 74 2d 63 | 68 61 72 20 34 38 20 64 | digit-c|har 48 d|
|00001f60| 69 67 69 74 20 6d 70 75 | 7a 2d 6c 65 74 74 65 72 |igit mpu|z-letter|
|00001f70| 2d 74 6f 2d 64 69 67 69 | 74 20 63 6f 72 72 65 63 |-to-digi|t correc|
|00001f80| 74 2d 64 69 67 69 74 20 | 6d 70 75 7a 2d 66 6f 75 |t-digit |mpuz-fou|
|00001f90| 6e 64 2d 64 69 67 69 74 | 73 20 6d 65 73 73 61 67 |nd-digit|s messag|
|00001fa0| 65 20 22 25 63 20 68 61 | 73 20 61 6c 72 65 61 64 |e "%c ha|s alread|
|00001fb0| 79 20 62 65 65 6e 20 66 | 6f 75 6e 64 2e 22 20 22 |y been f|ound." "|
|00001fc0| 25 63 20 3d 20 25 63 20 | 63 6f 72 72 65 63 74 20 |%c = %c |correct |
|00001fd0| 21 22 20 6d 70 75 7a 2d | 64 69 6e 67 20 6d 70 75 |!" mpuz-|ding mpu|
|00001fe0| 7a 2d 63 6f 72 72 65 63 | 74 2d 67 75 65 73 73 20 |z-correc|t-guess |
|00001ff0| 22 25 63 20 3d 20 25 63 | 20 69 6e 63 6f 72 72 65 |"%c = %c| incorre|
|00002000| 63 74 20 21 22 20 6d 70 | 75 7a 2d 6e 62 2d 65 72 |ct !" mp|uz-nb-er|
|00002010| 72 6f 72 73 20 6d 70 75 | 7a 2d 70 61 69 6e 74 2d |rors mpu|z-paint-|
|00002020| 65 72 72 6f 72 73 5d 20 | 34 20 22 5c 0a 50 72 6f |errors] |4 "\.Pro|
|00002030| 70 6f 73 65 20 4c 45 54 | 54 45 52 2d 43 48 41 52 |pose LET|TER-CHAR|
|00002040| 20 61 73 20 63 6f 64 65 | 20 66 6f 72 20 44 49 47 | as code| for DIG|
|00002050| 49 54 2d 43 48 41 52 2e | 22 5d 29 0a 28 64 65 66 |IT-CHAR.|"]).(def|
|00002060| 61 6c 69 61 73 20 27 6d | 70 75 7a 2d 63 6f 72 72 |alias 'm|puz-corr|
|00002070| 65 63 74 2d 67 75 65 73 | 73 20 23 5b 28 64 69 67 |ect-gues|s #[(dig|
|00002080| 69 74 29 20 22 08 09 c2 | 49 88 c3 09 21 88 c4 20 |it) "...|I...!.. |
|00002090| 85 10 00 c5 20 87 22 20 | 5b 6d 70 75 7a 2d 66 6f |.... ." |[mpuz-fo|
|000020a0| 75 6e 64 2d 64 69 67 69 | 74 73 20 64 69 67 69 74 |und-digi|ts digit|
|000020b0| 20 74 20 6d 70 75 7a 2d | 70 61 69 6e 74 2d 64 69 | t mpuz-|paint-di|
|000020c0| 67 69 74 20 6d 70 75 7a | 2d 63 68 65 63 6b 2d 61 |git mpuz|-check-a|
|000020d0| 6c 6c 2d 73 6f 6c 76 65 | 64 20 6d 70 75 7a 2d 63 |ll-solve|d mpuz-c|
|000020e0| 6c 6f 73 65 2d 67 61 6d | 65 5d 20 33 20 22 5c 0a |lose-gam|e] 3 "\.|
|000020f0| 48 61 6e 64 6c 65 20 63 | 6f 72 72 65 63 74 20 67 |Handle c|orrect g|
|00002100| 75 65 73 73 69 6e 67 20 | 6f 66 20 44 49 47 49 54 |uessing |of DIGIT|
|00002110| 2e 22 5d 29 0a 28 64 65 | 66 61 6c 69 61 73 20 27 |."]).(de|falias '|
|00002120| 6d 70 75 7a 2d 63 6c 6f | 73 65 2d 67 61 6d 65 20 |mpuz-clo|se-game |
|00002130| 23 5b 6e 69 6c 20 22 c0 | 11 5c 6e 0b 5c 5c 12 0c |#[nil ".|.\n.\\..|
|00002140| 54 14 c5 20 88 c6 20 1e | 07 c7 0e 07 21 88 c8 c9 |T.. .. .|....!...|
|00002150| 21 88 ca 0e 07 cb 50 21 | 83 27 00 cc 20 82 2a 00 |!.....P!|.'.. .*.|
|00002160| c7 cd 21 29 87 22 20 5b | 6e 69 6c 20 6d 70 75 7a |..!)." [|nil mpuz|
|00002170| 2d 69 6e 2d 70 72 6f 67 | 72 65 73 73 20 6d 70 75 |-in-prog|ress mpu|
|00002180| 7a 2d 6e 62 2d 63 75 6d | 75 6c 61 74 65 64 2d 65 |z-nb-cum|ulated-e|
|00002190| 72 72 6f 72 73 20 6d 70 | 75 7a 2d 6e 62 2d 65 72 |rrors mp|uz-nb-er|
|000021a0| 72 6f 72 73 20 6d 70 75 | 7a 2d 6e 62 2d 63 6f 6d |rors mpu|z-nb-com|
|000021b0| 70 6c 65 74 65 64 2d 67 | 61 6d 65 73 20 6d 70 75 |pleted-g|ames mpu|
|000021c0| 7a 2d 70 61 69 6e 74 2d | 73 74 61 74 69 73 74 69 |z-paint-|statisti|
|000021d0| 63 73 20 6d 70 75 7a 2d | 63 6f 6e 67 72 61 74 75 |cs mpuz-|congratu|
|000021e0| 6c 61 74 65 20 6d 65 73 | 73 61 67 65 20 73 69 74 |late mes|sage sit|
|000021f0| 2d 66 6f 72 20 34 20 79 | 2d 6f 72 2d 6e 2d 70 20 |-for 4 y|-or-n-p |
|00002200| 22 20 20 53 74 61 72 74 | 20 61 20 6e 65 77 20 67 |" Start| a new g|
|00002210| 61 6d 65 20 22 20 6d 70 | 75 7a 2d 73 74 61 72 74 |ame " mp|uz-start|
|00002220| 2d 6e 65 77 2d 67 61 6d | 65 20 22 47 6f 6f 64 20 |-new-gam|e "Good |
|00002230| 42 79 65 20 21 22 5d 20 | 33 20 22 5c 0a 48 6f 75 |Bye !"] |3 "\.Hou|
|00002240| 73 65 63 6c 65 61 6e 69 | 6e 67 20 77 68 65 6e 20 |secleani|ng when |
|00002250| 70 75 7a 7a 6c 65 20 68 | 61 73 20 62 65 65 6e 20 |puzzle h|as been |
|00002260| 73 6f 6c 76 65 64 2e 22 | 5d 29 0a 28 64 65 66 61 |solved."|]).(defa|
|00002270| 6c 69 61 73 20 27 6d 70 | 75 7a 2d 63 6f 6e 67 72 |lias 'mp|uz-congr|
|00002280| 61 74 75 6c 61 74 65 20 | 23 5b 6e 69 6c 20 22 c0 |atulate |#[nil ".|
|00002290| c1 5c 6e 89 c3 55 83 0d | 00 c4 82 5c 5c 00 5c 6e |.\n..U..|...\\.\n|
|000022a0| c5 55 83 17 00 c6 82 5c | 5c 00 5c 6e c7 55 83 21 |.U.....\|\.\n.U.!|
|000022b0| 00 c8 82 5c 5c 00 5c 6e | c9 55 83 2b 00 ca 82 5c |...\\.\n|.U.+...\|
|000022c0| 5c 00 5c 6e cb 55 83 35 | 00 cc 82 5c 5c 00 5c 6e |\.\n.U.5|...\\.\n|
|000022d0| cd 59 83 45 00 5c 6e ce | 57 83 45 00 cf 82 5c 5c |.Y.E.\n.|W.E...\\|
|000022e0| 00 5c 6e ce 59 83 55 00 | 5c 6e d0 57 83 55 00 d1 |.\n.Y.U.|\n.W.U..|
|000022f0| 82 5c 5c 00 5c 6e d0 59 | 85 5c 5c 00 d2 23 87 22 |.\\.\n.Y|.\\..#."|
|00002300| 20 5b 66 6f 72 6d 61 74 | 20 22 50 75 7a 7a 6c 65 | [format| "Puzzle|
|00002310| 20 73 6f 6c 76 65 64 20 | 77 69 74 68 20 25 64 20 | solved |with %d |
|00002320| 65 72 72 6f 72 73 2e 20 | 25 73 22 20 6d 70 75 7a |errors. |%s" mpuz|
|00002330| 2d 6e 62 2d 65 72 72 6f | 72 73 20 30 20 22 54 68 |-nb-erro|rs 0 "Th|
|00002340| 61 74 27 73 20 70 65 72 | 66 65 63 74 20 21 22 20 |at's per|fect !" |
|00002350| 31 20 22 54 68 61 74 27 | 73 20 76 65 72 79 20 67 |1 "That'|s very g|
|00002360| 6f 6f 64 20 21 22 20 32 | 20 22 54 68 61 74 27 73 |ood !" 2| "That's|
|00002370| 20 67 6f 6f 64 2e 22 20 | 33 20 22 54 68 61 74 27 | good." |3 "That'|
|00002380| 73 20 6e 6f 74 20 62 61 | 64 2e 22 20 34 20 22 54 |s not ba|d." 4 "T|
|00002390| 68 61 74 27 73 20 6e 6f | 74 20 74 6f 6f 20 62 61 |hat's no|t too ba|
|000023a0| 64 2e 2e 2e 22 20 35 20 | 31 30 20 22 54 68 61 74 |d..." 5 |10 "That|
|000023b0| 27 73 20 62 61 64 20 21 | 22 20 31 35 20 22 54 68 |'s bad !|" 15 "Th|
|000023c0| 61 74 27 73 20 61 77 66 | 75 6c 2e 22 20 22 54 68 |at's awf|ul." "Th|
|000023d0| 61 74 27 73 20 6e 6f 74 | 20 73 65 72 69 6f 75 73 |at's not| serious|
|000023e0| 2e 22 5d 20 35 20 22 5c | 0a 42 75 69 6c 64 20 61 |."] 5 "\|.Build a|
|000023f0| 20 63 6f 6e 67 72 61 74 | 75 6c 61 74 69 6f 6e 20 | congrat|ulation |
|00002400| 6d 65 73 73 61 67 65 20 | 77 68 65 6e 20 70 75 7a |message |when puz|
|00002410| 7a 6c 65 20 69 73 20 73 | 6f 6c 76 65 64 2e 22 5d |zle is s|olved."]|
|00002420| 29 0a 28 64 65 66 61 6c | 69 61 73 20 27 6d 70 75 |).(defal|ias 'mpu|
|00002430| 7a 2d 73 68 6f 77 2d 73 | 6f 6c 75 74 69 6f 6e 20 |z-show-s|olution |
|00002440| 23 5b 6e 69 6c 20 22 c0 | 20 88 c1 89 1a 1b c4 13 |#[nil ".| .......|
|00002450| c5 0b 54 89 13 56 83 20 | 00 0e 06 0b 48 84 09 00 |..T..V. |....H...|
|00002460| 0b 5c 6e 42 12 82 09 00 | c7 c8 5c 6e 5c 22 2a 87 |.\nB....|..\n\"*.|
|00002470| 22 20 5b 6d 70 75 7a 2d | 73 77 69 74 63 68 2d 74 |" [mpuz-|switch-t|
|00002480| 6f 2d 77 69 6e 64 6f 77 | 20 6e 69 6c 20 6c 69 73 |o-window| nil lis|
|00002490| 74 20 64 69 67 69 74 20 | 2d 31 20 31 30 20 6d 70 |t digit |-1 10 mp|
|000024a0| 75 7a 2d 66 6f 75 6e 64 | 2d 64 69 67 69 74 73 20 |uz-found|-digits |
|000024b0| 6d 61 70 63 61 72 20 6d | 70 75 7a 2d 63 6f 72 72 |mapcar m|puz-corr|
|000024c0| 65 63 74 2d 67 75 65 73 | 73 5d 20 33 20 22 5c 0a |ect-gues|s] 3 "\.|
|000024d0| 44 69 73 70 6c 61 79 20 | 73 6f 6c 75 74 69 6f 6e |Display |solution|
|000024e0| 20 66 6f 72 20 64 65 62 | 75 67 67 69 6e 67 20 70 | for deb|ugging p|
|000024f0| 75 72 70 6f 73 65 73 2e | 22 20 6e 69 6c 5d 29 0a |urposes.|" nil]).|
+--------+-------------------------+-------------------------+--------+--------+