home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / source / a2.0bemacs-src.lha / Emacs-19.25 / lisp / mpuz.elc < prev    next >
Emacs Compiled Lisp  |  1994-04-08  |  9.2 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
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)



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 6b 77 7a 68 40 68 61 |piled by| kwzh@ha|
|00000020| 6c 2e 67 6e 75 2e 61 69 | 2e 6d 69 74 2e 65 64 75 |l.gnu.ai|.mit.edu|
|00000030| 20 6f 6e 20 54 68 75 20 | 41 70 72 20 20 37 20 31 | on Thu |Apr 7 1|
|00000040| 39 3a 34 35 3a 31 32 20 | 31 39 39 34 0a 3b 3b 3b |9:45:12 |1994.;;;|
|00000050| 20 66 72 6f 6d 20 66 69 | 6c 65 20 2f 67 64 2f 67 | from fi|le /gd/g|
|00000060| 6e 75 2f 65 6d 61 63 73 | 2f 31 39 2e 30 2f 6c 69 |nu/emacs|/19.0/li|
|00000070| 73 70 2f 6d 70 75 7a 2e | 65 6c 0a 3b 3b 3b 20 65 |sp/mpuz.|el.;;; e|
|00000080| 6d 61 63 73 20 76 65 72 | 73 69 6f 6e 20 31 39 2e |macs ver|sion 19.|
|00000090| 32 32 2e 32 36 2e 0a 3b | 3b 3b 20 62 79 74 65 63 |22.26..;|;; bytec|
|000000a0| 6f 6d 70 20 76 65 72 73 | 69 6f 6e 20 46 53 46 20 |omp vers|ion FSF |
|000000b0| 32 2e 31 30 0a 3b 3b 3b | 20 6f 70 74 69 6d 69 7a |2.10.;;;| optimiz|
|000000c0| 61 74 69 6f 6e 20 69 73 | 20 6f 6e 2e 0a 3b 3b 3b |ation is| on..;;;|
|000000d0| 20 74 68 69 73 20 66 69 | 6c 65 20 75 73 65 73 20 | this fi|le uses |
|000000e0| 6f 70 63 6f 64 65 73 20 | 77 68 69 63 68 20 64 6f |opcodes |which do|
|000000f0| 20 6e 6f 74 20 65 78 69 | 73 74 20 69 6e 20 45 6d | not exi|st in Em|
|00000100| 61 63 73 20 31 38 2e 0a | 0a 28 69 66 20 28 61 6e |acs 18..|.(if (an|
|00000110| 64 20 28 62 6f 75 6e 64 | 70 20 27 65 6d 61 63 73 |d (bound|p 'emacs|
|00000120| 2d 76 65 72 73 69 6f 6e | 29 0a 09 20 28 6f 72 20 |-version|).. (or |
|00000130| 28 61 6e 64 20 28 62 6f | 75 6e 64 70 20 27 65 70 |(and (bo|undp 'ep|
|00000140| 6f 63 68 3a 3a 76 65 72 | 73 69 6f 6e 29 20 65 70 |och::ver|sion) ep|
|00000150| 6f 63 68 3a 3a 76 65 72 | 73 69 6f 6e 29 0a 09 20 |och::ver|sion).. |
|00000160| 20 20 20 20 28 73 74 72 | 69 6e 67 2d 6c 65 73 73 | (str|ing-less|
|00000170| 70 20 65 6d 61 63 73 2d | 76 65 72 73 69 6f 6e 20 |p emacs-|version |
|00000180| 22 31 39 22 29 29 29 0a | 20 20 20 20 28 65 72 72 |"19"))).| (err|
|00000190| 6f 72 20 22 60 2f 67 64 | 2f 67 6e 75 2f 65 6d 61 |or "`/gd|/gnu/ema|
|000001a0| 63 73 2f 31 39 2e 30 2f | 6c 69 73 70 2f 6d 70 75 |cs/19.0/|lisp/mpu|
|000001b0| 7a 2e 65 6c 27 20 77 61 | 73 20 63 6f 6d 70 69 6c |z.el' wa|s compil|
|000001c0| 65 64 20 66 6f 72 20 45 | 6d 61 63 73 20 31 39 22 |ed for E|macs 19"|
|000001d0| 29 29 0a 0a 28 72 61 6e | 64 6f 6d 20 74 29 0a 28 |))..(ran|dom t).(|
|000001e0| 64 65 66 76 61 72 20 6d | 70 75 7a 2d 73 69 6c 65 |defvar m|puz-sile|
|000001f0| 6e 74 20 6e 69 6c 20 22 | 5c 0a 2a 53 65 74 20 74 |nt nil "|\.*Set t|
|00000200| 68 69 73 20 74 6f 20 54 | 20 69 66 20 79 6f 75 20 |his to T| if you |
|00000210| 64 6f 6e 27 74 20 77 61 | 6e 74 20 64 69 6e 67 73 |don't wa|nt dings|
|00000220| 20 6f 6e 20 69 6e 70 75 | 74 73 2e 22 29 0a 28 64 | on inpu|ts.").(d|
|00000230| 65 66 61 6c 69 61 73 20 | 27 6d 70 75 7a 2d 64 69 |efalias |'mpuz-di|
|00000240| 6e 67 20 23 5b 6e 69 6c | 20 22 08 86 07 00 c1 c2 |ng #[nil| "......|
|00000250| 21 87 22 20 5b 6d 70 75 | 7a 2d 73 69 6c 65 6e 74 |!." [mpu|z-silent|
|00000260| 20 64 69 6e 67 20 74 5d | 20 32 20 22 5c 0a 44 69 | ding t]| 2 "\.Di|
|00000270| 6e 67 73 2c 20 75 6e 6c | 65 73 73 20 67 6c 6f 62 |ngs, unl|ess glob|
|00000280| 61 6c 20 76 61 72 69 61 | 62 6c 65 20 60 6d 70 75 |al varia|ble `mpu|
|00000290| 7a 2d 73 69 6c 65 6e 74 | 27 20 66 6f 72 62 69 64 |z-silent|' forbid|
|000002a0| 73 20 69 74 2e 22 5d 29 | 0a 28 62 79 74 65 2d 63 |s it."])|.(byte-c|
|000002b0| 6f 64 65 20 22 c0 c1 21 | 84 08 00 c2 11 c2 87 22 |ode "..!|......."|
|000002c0| 20 5b 62 6f 75 6e 64 70 | 20 6d 70 75 7a 2d 6d 6f | [boundp| mpuz-mo|
|000002d0| 64 65 2d 68 6f 6f 6b 20 | 6e 69 6c 5d 20 32 29 0a |de-hook |nil] 2).|
|000002e0| 28 64 65 66 76 61 72 20 | 6d 70 75 7a 2d 6d 6f 64 |(defvar |mpuz-mod|
|000002f0| 65 2d 6d 61 70 20 6e 69 | 6c 20 22 5c 0a 4c 6f 63 |e-map ni|l "\.Loc|
|00000300| 61 6c 20 6b 65 79 6d 61 | 70 20 74 6f 20 75 73 65 |al keyma|p to use|
|00000310| 20 69 6e 20 4d 75 6c 74 | 20 50 75 7a 7a 6c 65 2e | in Mult| Puzzle.|
|00000320| 22 29 0a 28 62 79 74 65 | 2d 63 6f 64 65 20 22 08 |").(byte|-code ".|
|00000330| 84 8b 00 c1 20 10 c2 08 | c3 c4 23 88 c2 08 c5 c4 |.... ...|..#.....|
|00000340| 23 88 c2 08 c6 c4 23 88 | c2 08 c7 c4 23 88 c2 08 |#.....#.|....#...|
|00000350| c8 c4 23 88 c2 08 c9 c4 | 23 88 c2 08 ca c4 23 88 |..#.....|#.....#.|
|00000360| c2 08 cb c4 23 88 c2 08 | cc c4 23 88 c2 08 cd c4 |....#...|..#.....|
|00000370| 23 88 c2 08 ce c4 23 88 | c2 08 cf c4 23 88 c2 08 |#.....#.|....#...|
|00000380| d0 c4 23 88 c2 08 d1 c4 | 23 88 c2 08 d2 c4 23 88 |..#.....|#.....#.|
|00000390| c2 08 d3 c4 23 88 c2 08 | d4 c4 23 88 c2 08 d5 c4 |....#...|..#.....|
|000003a0| 23 88 c2 08 d6 c4 23 88 | c2 08 d7 c4 23 88 c2 08 |#.....#.|....#...|
|000003b0| d8 d9 23 88 c2 08 da db | 23 88 c1 87 22 20 5b 6d |..#.....|#..." [m|
|000003c0| 70 75 7a 2d 6d 6f 64 65 | 2d 6d 61 70 20 6d 61 6b |puz-mode|-map mak|
|000003d0| 65 2d 73 70 61 72 73 65 | 2d 6b 65 79 6d 61 70 20 |e-sparse|-keymap |
|000003e0| 64 65 66 69 6e 65 2d 6b | 65 79 20 22 61 22 20 6d |define-k|ey "a" m|
|000003f0| 70 75 7a 2d 74 72 79 2d | 6c 65 74 74 65 72 20 22 |puz-try-|letter "|
|00000400| 62 22 20 22 63 22 20 22 | 64 22 20 22 65 22 20 22 |b" "c" "|d" "e" "|
|00000410| 66 22 20 22 67 22 20 22 | 68 22 20 22 69 22 20 22 |f" "g" "|h" "i" "|
|00000420| 6a 22 20 22 41 22 20 22 | 42 22 20 22 43 22 20 22 |j" "A" "|B" "C" "|
|00000430| 44 22 20 22 45 22 20 22 | 46 22 20 22 47 22 20 22 |D" "E" "|F" "G" "|
|00000440| 48 22 20 22 49 22 20 22 | 4a 22 20 22 07 22 20 6d |H" "I" "|J" "." m|
|00000450| 70 75 7a 2d 6f 66 66 65 | 72 2d 61 62 6f 72 74 20 |puz-offe|r-abort |
|00000460| 22 3f 22 20 64 65 73 63 | 72 69 62 65 2d 6d 6f 64 |"?" desc|ribe-mod|
|00000470| 65 5d 20 34 29 0a 28 64 | 65 66 61 6c 69 61 73 20 |e] 4).(d|efalias |
|00000480| 27 6d 70 75 7a 2d 6d 6f | 64 65 20 23 5b 6e 69 6c |'mpuz-mo|de #[nil|
|00000490| 20 22 c0 11 c2 13 c4 0d | 21 88 c6 c7 21 87 22 20 | "......|!...!." |
|000004a0| 5b 6d 70 75 7a 2d 6d 6f | 64 65 20 6d 61 6a 6f 72 |[mpuz-mo|de major|
|000004b0| 2d 6d 6f 64 65 20 22 4d | 75 6c 74 20 50 75 7a 7a |-mode "M|ult Puzz|
|000004c0| 6c 65 22 20 6d 6f 64 65 | 2d 6e 61 6d 65 20 75 73 |le" mode|-name us|
|000004d0| 65 2d 6c 6f 63 61 6c 2d | 6d 61 70 20 6d 70 75 7a |e-local-|map mpuz|
|000004e0| 2d 6d 6f 64 65 2d 6d 61 | 70 20 72 75 6e 2d 68 6f |-mode-ma|p run-ho|
|000004f0| 6f 6b 73 20 6d 70 75 7a | 2d 6d 6f 64 65 2d 68 6f |oks mpuz|-mode-ho|
|00000500| 6f 6b 5d 20 32 20 22 5c | 0a 4d 75 6c 74 69 70 6c |ok] 2 "\|.Multipl|
|00000510| 69 63 61 74 69 6f 6e 20 | 70 75 7a 7a 6c 65 20 6d |ication |puzzle m|
|00000520| 6f 64 65 2e 0a 0a 59 6f | 75 20 68 61 76 65 20 74 |ode...Yo|u have t|
|00000530| 6f 20 67 75 65 73 73 20 | 77 68 69 63 68 20 6c 65 |o guess |which le|
|00000540| 74 74 65 72 73 20 73 74 | 61 6e 64 20 66 6f 72 20 |tters st|and for |
|00000550| 77 68 69 63 68 20 64 69 | 67 69 74 73 20 69 6e 20 |which di|gits in |
|00000560| 74 68 65 0a 6d 75 6c 74 | 69 70 6c 69 63 61 74 69 |the.mult|iplicati|
|00000570| 6f 6e 20 64 69 73 70 6c | 61 79 65 64 20 69 6e 73 |on displ|ayed ins|
|00000580| 69 64 65 20 74 68 65 20 | 60 2a 4d 75 6c 74 20 50 |ide the |`*Mult P|
|00000590| 75 7a 7a 6c 65 2a 27 20 | 62 75 66 66 65 72 2e 0a |uzzle*' |buffer..|
|000005a0| 0a 59 6f 75 20 6d 61 79 | 20 65 6e 74 65 72 20 61 |.You may| enter a|
|000005b0| 20 67 75 65 73 73 20 66 | 6f 72 20 61 20 6c 65 74 | guess f|or a let|
|000005c0| 74 65 72 27 73 20 76 61 | 6c 75 65 20 62 79 20 74 |ter's va|lue by t|
|000005d0| 79 70 69 6e 67 20 66 69 | 72 73 74 20 74 68 65 20 |yping fi|rst the |
|000005e0| 6c 65 74 74 65 72 2c 0a | 74 68 65 6e 20 74 68 65 |letter,.|then the|
|000005f0| 20 64 69 67 69 74 2e 20 | 20 54 68 75 73 2c 20 74 | digit. | Thus, t|
|00000600| 6f 20 67 75 65 73 73 20 | 74 68 61 74 20 41 3d 33 |o guess |that A=3|
|00000610| 2c 20 74 79 70 65 20 41 | 20 33 2e 0a 0a 54 6f 20 |, type A| 3...To |
|00000620| 6c 65 61 76 65 20 74 68 | 65 20 67 61 6d 65 20 74 |leave th|e game t|
|00000630| 6f 20 64 6f 20 6f 74 68 | 65 72 20 65 64 69 74 69 |o do oth|er editi|
|00000640| 6e 67 20 77 6f 72 6b 2c | 20 6a 75 73 74 20 73 77 |ng work,| just sw|
|00000650| 69 74 63 68 20 62 75 66 | 66 65 72 73 2e 0a 54 68 |itch buf|fers..Th|
|00000660| 65 6e 20 79 6f 75 20 6d | 61 79 20 72 65 73 75 6d |en you m|ay resum|
|00000670| 65 20 74 68 65 20 67 61 | 6d 65 20 77 69 74 68 20 |e the ga|me with |
|00000680| 4d 2d 78 20 6d 70 75 7a | 2e 0a 59 6f 75 20 6d 61 |M-x mpuz|..You ma|
|00000690| 79 20 61 62 6f 72 74 20 | 61 20 67 61 6d 65 20 62 |y abort |a game b|
|000006a0| 79 20 74 79 70 69 6e 67 | 20 5c 5c 3c 6d 70 75 7a |y typing| \\<mpuz|
|000006b0| 2d 6d 6f 64 65 2d 6d 61 | 70 3e 5c 5c 5b 6d 70 75 |-mode-ma|p>\\[mpu|
|000006c0| 7a 2d 6f 66 66 65 72 2d | 61 62 6f 72 74 5d 2e 22 |z-offer-|abort]."|
|000006d0| 20 6e 69 6c 5d 29 0a 28 | 64 65 66 76 61 72 20 6d | nil]).(|defvar m|
|000006e0| 70 75 7a 2d 6e 62 2d 65 | 72 72 6f 72 73 20 30 20 |puz-nb-e|rrors 0 |
|000006f0| 22 5c 0a 4e 75 6d 62 65 | 72 20 6f 66 20 65 72 72 |"\.Numbe|r of err|
|00000700| 6f 72 73 20 6d 61 64 65 | 20 69 6e 20 63 75 72 72 |ors made| in curr|
|00000710| 65 6e 74 20 67 61 6d 65 | 2e 22 29 0a 28 64 65 66 |ent game|.").(def|
|00000720| 76 61 72 20 6d 70 75 7a | 2d 6e 62 2d 63 6f 6d 70 |var mpuz|-nb-comp|
|00000730| 6c 65 74 65 64 2d 67 61 | 6d 65 73 20 30 20 22 5c |leted-ga|mes 0 "\|
|00000740| 0a 4e 75 6d 62 65 72 20 | 6f 66 20 67 61 6d 65 73 |.Number |of games|
|00000750| 20 63 6f 6d 70 6c 65 74 | 65 64 2e 22 29 0a 28 64 | complet|ed.").(d|
|00000760| 65 66 76 61 72 20 6d 70 | 75 7a 2d 6e 62 2d 63 75 |efvar mp|uz-nb-cu|
|00000770| 6d 75 6c 61 74 65 64 2d | 65 72 72 6f 72 73 20 30 |mulated-|errors 0|
|00000780| 20 22 5c 0a 4e 75 6d 62 | 65 72 20 6f 66 20 65 72 | "\.Numb|er of er|
|00000790| 72 6f 72 73 20 6d 61 64 | 65 20 69 6e 20 70 72 65 |rors mad|e in pre|
|000007a0| 76 69 6f 75 73 20 67 61 | 6d 65 73 2e 22 29 0a 28 |vious ga|mes.").(|
|000007b0| 64 65 66 76 61 72 20 6d | 70 75 7a 2d 69 6e 2d 70 |defvar m|puz-in-p|
|000007c0| 72 6f 67 72 65 73 73 20 | 6e 69 6c 20 22 5c 0a 54 |rogress |nil "\.T|
|000007d0| 72 75 65 20 69 66 20 61 | 20 67 61 6d 65 20 69 73 |rue if a| game is|
|000007e0| 20 63 75 72 72 65 6e 74 | 6c 79 20 69 6e 20 70 72 | current|ly in pr|
|000007f0| 6f 67 72 65 73 73 2e 22 | 29 0a 28 64 65 66 76 61 |ogress."|).(defva|
|00000800| 72 20 6d 70 75 7a 2d 66 | 6f 75 6e 64 2d 64 69 67 |r mpuz-f|ound-dig|
|00000810| 69 74 73 20 28 6d 61 6b | 65 2d 76 65 63 74 6f 72 |its (mak|e-vector|
|00000820| 20 31 30 20 6e 69 6c 29 | 20 22 5c 0a 41 20 76 65 | 10 nil)| "\.A ve|
|00000830| 63 74 6f 72 20 72 65 63 | 6f 72 64 69 6e 67 20 77 |ctor rec|ording w|
|00000840| 68 69 63 68 20 64 69 67 | 69 74 73 20 68 61 76 65 |hich dig|its have|
|00000850| 20 62 65 65 6e 20 64 65 | 63 72 79 70 74 65 64 2e | been de|crypted.|
|00000860| 22 29 0a 28 64 65 66 61 | 6c 69 61 73 20 28 71 75 |").(defa|lias (qu|
|00000870| 6f 74 65 20 6d 70 75 7a | 2d 64 69 67 69 74 2d 73 |ote mpuz|-digit-s|
|00000880| 6f 6c 76 65 64 2d 70 29 | 20 28 71 75 6f 74 65 20 |olved-p)| (quote |
|00000890| 28 6d 61 63 72 6f 20 2e | 20 23 5b 28 64 69 67 69 |(macro .| #[(digi|
|000008a0| 74 29 20 22 c0 c1 5c 6e | 45 87 22 20 5b 61 72 65 |t) "..\n|E." [are|
|000008b0| 66 20 6d 70 75 7a 2d 66 | 6f 75 6e 64 2d 64 69 67 |f mpuz-f|ound-dig|
|000008c0| 69 74 73 20 64 69 67 69 | 74 5d 20 33 5d 29 29 29 |its digi|t] 3])))|
|000008d0| 0a 28 64 65 66 76 61 72 | 20 6d 70 75 7a 2d 64 69 |.(defvar| mpuz-di|
|000008e0| 67 69 74 2d 74 6f 2d 6c | 65 74 74 65 72 20 28 6d |git-to-l|etter (m|
|000008f0| 61 6b 65 2d 76 65 63 74 | 6f 72 20 31 30 20 30 29 |ake-vect|or 10 0)|
|00000900| 20 22 5c 0a 41 20 70 65 | 72 6d 75 74 61 74 69 6f | "\.A pe|rmutatio|
|00000910| 6e 20 66 72 6f 6d 20 5b | 30 2e 2e 39 5d 20 74 6f |n from [|0..9] to|
|00000920| 20 5b 30 2e 2e 39 5d 2e | 22 29 0a 28 64 65 66 76 | [0..9].|").(defv|
|00000930| 61 72 20 6d 70 75 7a 2d | 6c 65 74 74 65 72 2d 74 |ar mpuz-|letter-t|
|00000940| 6f 2d 64 69 67 69 74 20 | 28 6d 61 6b 65 2d 76 65 |o-digit |(make-ve|
|00000950| 63 74 6f 72 20 31 30 20 | 30 29 20 22 5c 0a 54 68 |ctor 10 |0) "\.Th|
|00000960| 65 20 69 6e 76 65 72 73 | 65 20 6f 66 20 6d 70 75 |e invers|e of mpu|
|00000970| 7a 2d 64 69 67 69 74 2d | 74 6f 2d 6c 65 74 74 65 |z-digit-|to-lette|
|00000980| 72 2e 22 29 0a 28 62 79 | 74 65 2d 63 6f 64 65 20 |r.").(by|te-code |
|00000990| 22 c0 c1 c2 5c 22 88 c0 | c3 c4 5c 22 87 22 20 5b |"...\"..|..\"." [|
|000009a0| 64 65 66 61 6c 69 61 73 | 20 6d 70 75 7a 2d 74 6f |defalias| mpuz-to|
|000009b0| 2d 64 69 67 69 74 20 28 | 6d 61 63 72 6f 20 2e 20 |-digit (|macro . |
|000009c0| 23 5b 28 6c 65 74 74 65 | 72 29 20 22 c0 c1 5c 6e |#[(lette|r) "..\n|
|000009d0| 45 87 22 20 5b 61 72 65 | 66 20 6d 70 75 7a 2d 6c |E." [are|f mpuz-l|
|000009e0| 65 74 74 65 72 2d 74 6f | 2d 64 69 67 69 74 20 6c |etter-to|-digit l|
|000009f0| 65 74 74 65 72 5d 20 33 | 5d 29 20 6d 70 75 7a 2d |etter] 3|]) mpuz-|
|00000a00| 74 6f 2d 6c 65 74 74 65 | 72 20 28 6d 61 63 72 6f |to-lette|r (macro|
|00000a10| 20 2e 20 23 5b 28 64 69 | 67 69 74 29 20 22 c0 c1 | . #[(di|git) "..|
|00000a20| 5c 6e 45 87 22 20 5b 61 | 72 65 66 20 6d 70 75 7a |\nE." [a|ref mpuz|
|00000a30| 2d 64 69 67 69 74 2d 74 | 6f 2d 6c 65 74 74 65 72 |-digit-t|o-letter|
|00000a40| 20 64 69 67 69 74 5d 20 | 33 5d 29 5d 20 33 29 0a | digit] |3])] 3).|
|00000a50| 28 64 65 66 61 6c 69 61 | 73 20 27 6d 70 75 7a 2d |(defalia|s 'mpuz-|
|00000a60| 62 75 69 6c 64 2d 72 61 | 6e 64 6f 6d 2d 70 65 72 |build-ra|ndom-per|
|00000a70| 6d 20 23 5b 6e 69 6c 20 | 22 c0 c1 c2 c3 c4 c5 c6 |m #[nil |".......|
|00000a80| c7 c8 c9 af 5c 6e ca cb | 1e 5c 66 1e 0d 1e 0e 0e |....\n..|.\f.....|
|00000a90| 0e 85 42 00 cf 0e 0d 21 | 0e 0e 38 16 5c 66 d0 0e |..B....!|..8.\f..|
|00000aa0| 5c 66 0e 0e 5c 22 16 0e | 0e 0d 53 16 0d 0e 11 0e |\f..\"..|..S.....|
|00000ab0| 0d 0e 5c 66 49 88 0e 12 | 0e 5c 66 0e 0d 49 88 82 |..\fI...|.\f..I..|
|00000ac0| 14 00 2b 87 22 20 5b 30 | 20 31 20 32 20 33 20 34 |..+." [0| 1 2 3 4|
|00000ad0| 20 35 20 36 20 37 20 38 | 20 39 20 31 30 20 6e 69 | 5 6 7 8| 9 10 ni|
|00000ae0| 6c 20 65 6c 65 6d 20 69 | 6e 64 65 78 20 6c 65 74 |l elem i|ndex let|
|00000af0| 74 65 72 73 20 72 61 6e | 64 6f 6d 20 64 65 6c 71 |ters ran|dom delq|
|00000b00| 20 6d 70 75 7a 2d 64 69 | 67 69 74 2d 74 6f 2d 6c | mpuz-di|git-to-l|
|00000b10| 65 74 74 65 72 20 6d 70 | 75 7a 2d 6c 65 74 74 65 |etter mp|uz-lette|
|00000b20| 72 2d 74 6f 2d 64 69 67 | 69 74 5d 20 31 30 20 22 |r-to-dig|it] 10 "|
|00000b30| 5c 0a 49 6e 69 74 69 61 | 6c 69 7a 65 20 70 75 7a |\.Initia|lize puz|
|00000b40| 7a 6c 65 20 63 6f 64 69 | 6e 67 20 77 69 74 68 20 |zle codi|ng with |
|00000b50| 61 20 72 61 6e 64 6f 6d | 20 70 65 72 6d 75 74 61 |a random| permuta|
|00000b60| 74 69 6f 6e 2e 22 5d 29 | 0a 28 64 65 66 76 61 72 |tion."])|.(defvar|
|00000b70| 20 6d 70 75 7a 2d 62 6f | 61 72 64 20 28 6d 61 6b | mpuz-bo|ard (mak|
|00000b80| 65 2d 76 65 63 74 6f 72 | 20 31 30 20 6e 69 6c 29 |e-vector| 10 nil)|
|00000b90| 20 22 5c 0a 54 68 65 20 | 62 6f 61 72 64 20 61 73 | "\.The |board as|
|00000ba0| 73 6f 63 69 61 74 65 73 | 20 74 6f 20 61 6e 79 20 |sociates| to any |
|00000bb0| 64 69 67 69 74 20 74 68 | 65 20 6c 69 73 74 20 6f |digit th|e list o|
|00000bc0| 66 20 73 71 75 61 72 65 | 73 20 77 68 65 72 65 20 |f square|s where |
|00000bd0| 69 74 20 61 70 70 65 61 | 72 73 2e 22 29 0a 28 64 |it appea|rs.").(d|
|00000be0| 65 66 61 6c 69 61 73 20 | 27 6d 70 75 7a 2d 70 75 |efalias |'mpuz-pu|
|00000bf0| 74 2d 64 69 67 69 74 2d | 6f 6e 2d 62 6f 61 72 64 |t-digit-|on-board|
|00000c00| 20 23 5b 28 6e 75 6d 62 | 65 72 20 73 71 75 61 72 | #[(numb|er squar|
|00000c10| 65 29 20 22 08 c1 a6 10 | 5c 6e 08 0b 5c 6e 08 48 |e) "....|\n..\n.H|
|00000c20| 42 49 87 22 20 5b 6e 75 | 6d 62 65 72 20 31 30 20 |BI." [nu|mber 10 |
|00000c30| 6d 70 75 7a 2d 62 6f 61 | 72 64 20 73 71 75 61 72 |mpuz-boa|rd squar|
|00000c40| 65 5d 20 35 20 22 5c 0a | 50 75 74 20 28 6c 61 73 |e] 5 "\.|Put (las|
|00000c50| 74 20 64 69 67 69 74 20 | 6f 66 29 20 4e 55 4d 42 |t digit |of) NUMB|
|00000c60| 45 52 20 6f 6e 20 53 51 | 55 41 52 45 20 6f 66 20 |ER on SQ|UARE of |
|00000c70| 74 68 65 20 70 75 7a 7a | 6c 65 20 62 6f 61 72 64 |the puzz|le board|
|00000c80| 2e 22 5d 29 0a 28 64 65 | 66 61 6c 69 61 73 20 27 |."]).(de|falias '|
|00000c90| 6d 70 75 7a 2d 63 68 65 | 63 6b 2d 61 6c 6c 2d 73 |mpuz-che|ck-all-s|
|00000ca0| 6f 6c 76 65 64 20 23 5b | 6e 69 6c 20 22 c0 c1 8d |olved #[|nil "...|
|00000cb0| 87 22 20 5b 66 6f 75 6e | 64 20 28 62 79 74 65 2d |." [foun|d (byte-|
|00000cc0| 63 6f 64 65 20 22 c0 19 | c2 09 54 89 11 56 83 1f |code "..|..T..V..|
|00000cd0| 00 0b 09 48 84 02 00 5c | 66 09 48 83 02 00 c5 c6 |...H...\|f.H.....|
|00000ce0| c7 5c 22 88 82 02 00 29 | c8 87 22 20 5b 2d 31 20 |.\"....)|.." [-1 |
|00000cf0| 64 69 67 69 74 20 31 30 | 20 6d 70 75 7a 2d 66 6f |digit 10| mpuz-fo|
|00000d00| 75 6e 64 2d 64 69 67 69 | 74 73 20 6d 70 75 7a 2d |und-digi|ts mpuz-|
|00000d10| 62 6f 61 72 64 20 74 68 | 72 6f 77 20 66 6f 75 6e |board th|row foun|
|00000d20| 64 20 6e 69 6c 20 74 5d | 20 33 29 5d 20 32 20 22 |d nil t]| 3)] 2 "|
|00000d30| 5c 0a 43 68 65 63 6b 20 | 77 68 65 74 68 65 72 20 |\.Check |whether |
|00000d40| 61 6c 6c 20 64 69 67 69 | 74 73 20 68 61 76 65 20 |all digi|ts have |
|00000d50| 62 65 65 6e 20 73 6f 6c | 76 65 64 2e 20 52 65 74 |been sol|ved. Ret|
|00000d60| 75 72 6e 20 74 20 69 66 | 20 79 65 73 2e 22 5d 29 |urn t if| yes."])|
|00000d70| 0a 28 64 65 66 61 6c 69 | 61 73 20 27 6d 70 75 7a |.(defali|as 'mpuz|
|00000d80| 2d 72 61 6e 64 6f 6d 2d | 70 75 7a 7a 6c 65 20 23 |-random-|puzzle #|
|00000d90| 5b 6e 69 6c 20 22 c0 20 | 88 c1 5c 6e c3 5c 22 88 |[nil ". |..\n.\".|
|00000da0| c3 89 89 89 89 1c 1d 1e | 06 1e 07 1e 08 c9 ca 21 |........|.......!|
|00000db0| 16 08 c9 cb 21 16 07 0e | 08 0e 07 cc a6 5f 16 06 |....!...|....._..|
|00000dc0| 0e 08 0e 07 cc a5 5f 15 | 0e 08 0e 07 5f 14 0e 06 |......_.|...._...|
|00000dd0| ca 57 84 15 00 0d ca 57 | 84 15 00 cd 0e 08 ce 5c |.W.....W|.......\|
|00000de0| 22 88 cd 0e 08 cc a5 cf | 5c 22 88 cd 0e 08 cb a5 |".......|\"......|
|00000df0| d0 5c 22 88 cd 0e 07 d1 | 5c 22 88 cd 0e 07 cc a5 |.\".....|\"......|
|00000e00| d2 5c 22 88 cd 0e 06 d3 | 5c 22 88 cd 0e 06 cc a5 |.\".....|\"......|
|00000e10| d4 5c 22 88 cd 0e 06 cb | a5 d5 5c 22 88 cd 0e 06 |.\".....|..\"....|
|00000e20| ca a5 d6 5c 22 88 cd 0d | d7 5c 22 88 cd 0d cc a5 |...\"...|.\".....|
|00000e30| d8 5c 22 88 cd 0d cb a5 | d9 5c 22 88 cd 0d ca a5 |.\".....|.\".....|
|00000e40| da 5c 22 88 cd 5c 66 db | 5c 22 88 cd 5c 66 cc a5 |.\"..\f.|\"..\f..|
|00000e50| dc 5c 22 88 cd 5c 66 cb | a5 dd 5c 22 88 cd 5c 66 |.\"..\f.|..\"..\f|
|00000e60| ca a5 de 5c 22 88 cd 5c | 66 df a5 e0 5c 22 2d 87 |...\"..\|f...\"-.|
|00000e70| 22 20 5b 6d 70 75 7a 2d | 62 75 69 6c 64 2d 72 61 |" [mpuz-|build-ra|
|00000e80| 6e 64 6f 6d 2d 70 65 72 | 6d 20 66 69 6c 6c 61 72 |ndom-per|m fillar|
|00000e90| 72 61 79 20 6d 70 75 7a | 2d 62 6f 61 72 64 20 6e |ray mpuz|-board n|
|00000ea0| 69 6c 20 45 20 44 20 43 | 20 42 20 41 20 72 61 6e |il E D C| B A ran|
|00000eb0| 64 6f 6d 20 31 30 30 30 | 20 31 30 30 20 31 30 20 |dom 1000| 100 10 |
|00000ec0| 6d 70 75 7a 2d 70 75 74 | 2d 64 69 67 69 74 2d 6f |mpuz-put|-digit-o|
|00000ed0| 6e 2d 62 6f 61 72 64 20 | 28 32 20 2e 20 39 29 20 |n-board |(2 . 9) |
|00000ee0| 28 32 20 2e 20 37 29 20 | 28 32 20 2e 20 35 29 20 |(2 . 7) |(2 . 5) |
|00000ef0| 28 34 20 2e 20 39 29 20 | 28 34 20 2e 20 37 29 20 |(4 . 9) |(4 . 7) |
|00000f00| 28 36 20 2e 20 39 29 20 | 28 36 20 2e 20 37 29 20 |(6 . 9) |(6 . 7) |
|00000f10| 28 36 20 2e 20 35 29 20 | 28 36 20 2e 20 33 29 20 |(6 . 5) |(6 . 3) |
|00000f20| 28 38 20 2e 20 37 29 20 | 28 38 20 2e 20 35 29 20 |(8 . 7) |(8 . 5) |
|00000f30| 28 38 20 2e 20 33 29 20 | 28 38 20 2e 20 31 29 20 |(8 . 3) |(8 . 1) |
|00000f40| 28 31 30 20 2e 20 39 29 | 20 28 31 30 20 2e 20 37 |(10 . 9)| (10 . 7|
|00000f50| 29 20 28 31 30 20 2e 20 | 35 29 20 28 31 30 20 2e |) (10 . |5) (10 .|
|00000f60| 20 33 29 20 31 30 30 30 | 30 20 28 31 30 20 2e 20 | 3) 1000|0 (10 . |
|00000f70| 31 29 5d 20 35 20 22 5c | 0a 44 72 61 77 20 72 61 |1)] 5 "\|.Draw ra|
|00000f80| 6e 64 6f 6d 20 76 61 6c | 75 65 73 20 74 6f 20 62 |ndom val|ues to b|
|00000f90| 65 20 6d 75 6c 74 69 70 | 6c 69 65 64 20 69 6e 20 |e multip|lied in |
|00000fa0| 61 20 70 75 7a 7a 6c 65 | 2e 22 5d 29 0a 28 64 65 |a puzzle|."]).(de|
|00000fb0| 66 63 6f 6e 73 74 20 6d | 70 75 7a 2d 66 72 61 6d |fconst m|puz-fram|
|00000fc0| 65 77 6f 72 6b 20 22 5c | 6e 20 20 20 20 20 2e 20 |ework "\|n . |
|00000fd0| 2e 20 2e 5c 6e 20 20 20 | 20 20 20 20 20 20 20 20 |. .\n | |
|00000fe0| 20 20 20 20 20 20 20 20 | 4e 75 6d 62 65 72 20 6f | |Number o|
|00000ff0| 66 20 65 72 72 6f 72 73 | 20 28 74 68 69 73 20 67 |f errors| (this g|
|00001000| 61 6d 65 29 3a 20 30 5c | 6e 20 20 20 20 78 20 20 |ame): 0\|n x |
|00001010| 2e 20 2e 5c 6e 20 20 20 | 2d 2d 2d 2d 2d 2d 2d 5c |. .\n |-------\|
|00001020| 6e 20 20 20 2e 20 2e 20 | 2e 20 2e 5c 6e 20 20 20 |n . . |. .\n |
|00001030| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001040| 20 20 20 20 20 4e 75 6d | 62 65 72 20 6f 66 20 63 | Num|ber of c|
|00001050| 6f 6d 70 6c 65 74 65 64 | 20 67 61 6d 65 73 3a 20 |ompleted| games: |
|00001060| 30 5c 6e 20 2e 20 2e 20 | 2e 20 2e 5c 6e 20 2d 2d |0\n . . |. .\n --|
|00001070| 2d 2d 2d 2d 2d 2d 2d 20 | 20 20 20 20 20 20 20 20 |------- | |
|00001080| 20 20 20 20 20 41 76 65 | 72 61 67 65 20 6e 75 6d | Ave|rage num|
|00001090| 62 65 72 20 6f 66 20 65 | 72 72 6f 72 73 3a 20 30 |ber of e|rrors: 0|
|000010a0| 2e 30 30 5c 6e 20 2e 20 | 2e 20 2e 20 2e 20 2e 22 |.00\n . |. . . ."|
|000010b0| 20 22 5c 0a 54 68 65 20 | 67 65 6e 65 72 61 6c 20 | "\.The |general |
|000010c0| 70 69 63 74 75 72 65 20 | 6f 66 20 74 68 65 20 70 |picture |of the p|
|000010d0| 75 7a 7a 6c 65 20 73 63 | 72 65 65 6e 2c 20 61 73 |uzzle sc|reen, as|
|000010e0| 20 61 20 73 74 72 69 6e | 67 2e 22 29 0a 28 64 65 | a strin|g.").(de|
|000010f0| 66 61 6c 69 61 73 20 27 | 6d 70 75 7a 2d 63 72 65 |falias '|mpuz-cre|
|00001100| 61 74 65 2d 62 75 66 66 | 65 72 20 23 5b 6e 69 6c |ate-buff|er #[nil|
|00001110| 20 22 c0 c1 21 1a 8a 5c | 6e 71 88 c3 1c c5 20 88 | "..!..\|nq.... .|
|00001120| 0e 06 63 88 c7 20 88 c8 | 20 88 c9 20 88 2a 5c 6e |..c.. ..| .. .*\n|
|00001130| 29 87 22 20 5b 67 65 74 | 2d 62 75 66 66 65 72 2d |)." [get|-buffer-|
|00001140| 63 72 65 61 74 65 20 22 | 2a 4d 75 6c 74 20 50 75 |create "|*Mult Pu|
|00001150| 7a 7a 6c 65 2a 22 20 62 | 75 66 66 20 6e 69 6c 20 |zzle*" b|uff nil |
|00001160| 62 75 66 66 65 72 2d 72 | 65 61 64 2d 6f 6e 6c 79 |buffer-r|ead-only|
|00001170| 20 65 72 61 73 65 2d 62 | 75 66 66 65 72 20 6d 70 | erase-b|uffer mp|
|00001180| 75 7a 2d 66 72 61 6d 65 | 77 6f 72 6b 20 6d 70 75 |uz-frame|work mpu|
|00001190| 7a 2d 70 61 69 6e 74 2d | 62 6f 61 72 64 20 6d 70 |z-paint-|board mp|
|000011a0| 75 7a 2d 70 61 69 6e 74 | 2d 65 72 72 6f 72 73 20 |uz-paint|-errors |
|000011b0| 6d 70 75 7a 2d 70 61 69 | 6e 74 2d 73 74 61 74 69 |mpuz-pai|nt-stati|
|000011c0| 73 74 69 63 73 5d 20 32 | 20 22 5c 0a 43 72 65 61 |stics] 2| "\.Crea|
|000011d0| 74 65 20 28 6f 72 20 72 | 65 63 72 65 61 74 65 29 |te (or r|ecreate)|
|000011e0| 20 74 68 65 20 70 75 7a | 7a 6c 65 20 62 75 66 66 | the puz|zle buff|
|000011f0| 65 72 2e 20 52 65 74 75 | 72 6e 20 69 74 2e 22 5d |er. Retu|rn it."]|
|00001200| 29 0a 28 64 65 66 61 6c | 69 61 73 20 27 6d 70 75 |).(defal|ias 'mpu|
|00001210| 7a 2d 70 61 69 6e 74 2d | 65 72 72 6f 72 73 20 23 |z-paint-|errors #|
|00001220| 5b 6e 69 6c 20 22 c0 20 | 88 c1 1a c3 c4 21 88 c5 |[nil ". |.....!..|
|00001230| c6 21 88 c7 20 88 c8 0e | 09 21 63 29 87 22 20 5b |.!.. ...|.!c)." [|
|00001240| 6d 70 75 7a 2d 73 77 69 | 74 63 68 2d 74 6f 2d 77 |mpuz-swi|tch-to-w|
|00001250| 69 6e 64 6f 77 20 6e 69 | 6c 20 62 75 66 66 65 72 |indow ni|l buffer|
|00001260| 2d 72 65 61 64 2d 6f 6e | 6c 79 20 67 6f 74 6f 2d |-read-on|ly goto-|
|00001270| 6c 69 6e 65 20 33 20 6d | 6f 76 65 2d 74 6f 2d 63 |line 3 m|ove-to-c|
|00001280| 6f 6c 75 6d 6e 20 34 39 | 20 6d 70 75 7a 2d 64 65 |olumn 49| mpuz-de|
|00001290| 6c 65 74 65 2d 6c 69 6e | 65 20 70 72 69 6e 31 2d |lete-lin|e prin1-|
|000012a0| 74 6f 2d 73 74 72 69 6e | 67 20 6d 70 75 7a 2d 6e |to-strin|g mpuz-n|
|000012b0| 62 2d 65 72 72 6f 72 73 | 5d 20 32 20 22 5c 0a 50 |b-errors|] 2 "\.P|
|000012c0| 61 69 6e 74 20 65 72 72 | 6f 72 20 63 6f 75 6e 74 |aint err|or count|
|000012d0| 20 6f 6e 20 74 68 65 20 | 70 75 7a 7a 6c 65 20 73 | on the |puzzle s|
|000012e0| 63 72 65 65 6e 2e 22 5d | 29 0a 28 64 65 66 61 6c |creen."]|).(defal|
|000012f0| 69 61 73 20 27 6d 70 75 | 7a 2d 70 61 69 6e 74 2d |ias 'mpu|z-paint-|
|00001300| 73 74 61 74 69 73 74 69 | 63 73 20 23 5b 6e 69 6c |statisti|cs #[nil|
|00001310| 20 22 08 c1 55 83 5c 6e | 00 c1 82 13 00 08 5c 6e | "..U.\n|......\n|
|00001320| c3 5f 5c 5c 08 89 5c 5c | a5 89 1c c5 a6 1e 06 c7 |._\\..\\|........|
|00001330| 1e 08 c9 ca 21 88 cb cc | 21 88 cd 20 88 ce 08 21 |....!...|!.. ...!|
|00001340| 63 88 c9 cf 21 88 cb d0 | 21 88 cd 20 88 d1 d2 5c |c...!...|!.. ...\|
|00001350| 66 c5 a5 0e 06 d3 a5 0e | 06 d3 a6 24 63 2b 87 22 |f.......|...$c+."|
|00001360| 20 5b 6d 70 75 7a 2d 6e | 62 2d 63 6f 6d 70 6c 65 | [mpuz-n|b-comple|
|00001370| 74 65 64 2d 67 61 6d 65 | 73 20 30 20 6d 70 75 7a |ted-game|s 0 mpuz|
|00001380| 2d 6e 62 2d 63 75 6d 75 | 6c 61 74 65 64 2d 65 72 |-nb-cumu|lated-er|
|00001390| 72 6f 72 73 20 32 30 30 | 20 6d 65 61 6e 20 31 30 |rors 200| mean 10|
|000013a0| 30 20 66 72 61 63 2d 70 | 61 72 74 20 6e 69 6c 20 |0 frac-p|art nil |
|000013b0| 62 75 66 66 65 72 2d 72 | 65 61 64 2d 6f 6e 6c 79 |buffer-r|ead-only|
|000013c0| 20 67 6f 74 6f 2d 6c 69 | 6e 65 20 37 20 6d 6f 76 | goto-li|ne 7 mov|
|000013d0| 65 2d 74 6f 2d 63 6f 6c | 75 6d 6e 20 35 31 20 6d |e-to-col|umn 51 m|
|000013e0| 70 75 7a 2d 64 65 6c 65 | 74 65 2d 6c 69 6e 65 20 |puz-dele|te-line |
|000013f0| 70 72 69 6e 31 2d 74 6f | 2d 73 74 72 69 6e 67 20 |prin1-to|-string |
|00001400| 39 20 35 30 20 66 6f 72 | 6d 61 74 20 22 25 64 2e |9 50 for|mat "%d.|
|00001410| 25 64 25 64 22 20 31 30 | 5d 20 37 20 22 5c 0a 50 |%d%d" 10|] 7 "\.P|
|00001420| 61 69 6e 74 20 73 74 61 | 74 69 73 74 69 63 73 20 |aint sta|tistics |
|00001430| 61 62 6f 75 74 20 70 72 | 65 76 69 6f 75 73 20 67 |about pr|evious g|
|00001440| 61 6d 65 73 20 6f 6e 20 | 74 68 65 20 70 75 7a 7a |ames on |the puzz|
|00001450| 6c 65 20 73 63 72 65 65 | 6e 2e 22 5d 29 0a 28 64 |le scree|n."]).(d|
|00001460| 65 66 61 6c 69 61 73 20 | 27 6d 70 75 7a 2d 70 61 |efalias |'mpuz-pa|
|00001470| 69 6e 74 2d 62 6f 61 72 | 64 20 23 5b 6e 69 6c 20 |int-boar|d #[nil |
|00001480| 22 c0 20 88 c1 1a c3 5c | 6e 54 89 12 56 83 17 00 |". ....\|nT..V...|
|00001490| c4 0d 5c 6e 48 21 88 82 | 05 00 29 65 62 87 22 20 |..\nH!..|..)eb." |
|000014a0| 5b 6d 70 75 7a 2d 73 77 | 69 74 63 68 2d 74 6f 2d |[mpuz-sw|itch-to-|
|000014b0| 77 69 6e 64 6f 77 20 2d | 31 20 6c 65 74 74 65 72 |window -|1 letter|
|000014c0| 20 31 30 20 6d 70 75 7a | 2d 70 61 69 6e 74 2d 64 | 10 mpuz|-paint-d|
|000014d0| 69 67 69 74 20 6d 70 75 | 7a 2d 6c 65 74 74 65 72 |igit mpu|z-letter|
|000014e0| 2d 74 6f 2d 64 69 67 69 | 74 5d 20 33 20 22 5c 0a |-to-digi|t] 3 "\.|
|000014f0| 50 61 69 6e 74 20 62 6f | 61 72 64 20 73 69 74 75 |Paint bo|ard situ|
|00001500| 61 74 69 6f 6e 20 6f 6e | 20 74 68 65 20 70 75 7a |ation on| the puz|
|00001510| 7a 6c 65 20 73 63 72 65 | 65 6e 2e 22 5d 29 0a 28 |zle scre|en."]).(|
|00001520| 64 65 66 61 6c 69 61 73 | 20 27 6d 70 75 7a 2d 70 |defalias| 'mpuz-p|
|00001530| 61 69 6e 74 2d 64 69 67 | 69 74 20 23 5b 28 64 69 |aint-dig|it #[(di|
|00001540| 67 69 74 29 20 22 08 09 | 48 83 5c 66 00 09 c2 5c |git) "..|H.\f...\|
|00001550| 5c 82 11 00 0b 09 48 c4 | 5c 5c 0d 09 48 1e 06 1e |\.....H.|\\..H...|
|00001560| 07 c8 1e 09 0e 06 85 44 | 00 ca 0e 06 40 40 21 88 |.......D|....@@!.|
|00001570| cb 0e 06 40 41 21 88 0e | 07 63 88 cc cd 21 88 ce |...@A!..|.c...!..|
|00001580| cd 21 88 0e 06 41 89 16 | 06 84 20 00 c8 2b 87 22 |.!...A..|.. ..+."|
|00001590| 20 5b 6d 70 75 7a 2d 66 | 6f 75 6e 64 2d 64 69 67 | [mpuz-f|ound-dig|
|000015a0| 69 74 73 20 64 69 67 69 | 74 20 34 38 20 6d 70 75 |its digi|t 48 mpu|
|000015b0| 7a 2d 64 69 67 69 74 2d | 74 6f 2d 6c 65 74 74 65 |z-digit-|to-lette|
|000015c0| 72 20 36 35 20 6d 70 75 | 7a 2d 62 6f 61 72 64 20 |r 65 mpu|z-board |
|000015d0| 73 71 75 61 72 65 2d 6c | 20 63 68 61 72 20 6e 69 |square-l| char ni|
|000015e0| 6c 20 62 75 66 66 65 72 | 2d 72 65 61 64 2d 6f 6e |l buffer|-read-on|
|000015f0| 6c 79 20 67 6f 74 6f 2d | 6c 69 6e 65 20 6d 6f 76 |ly goto-|line mov|
|00001600| 65 2d 74 6f 2d 63 6f 6c | 75 6d 6e 20 64 65 6c 65 |e-to-col|umn dele|
|00001610| 74 65 2d 63 68 61 72 20 | 31 20 62 61 63 6b 77 61 |te-char |1 backwa|
|00001620| 72 64 2d 63 68 61 72 5d | 20 34 20 22 5c 0a 50 61 |rd-char]| 4 "\.Pa|
|00001630| 69 6e 74 20 61 6c 6c 20 | 6f 63 63 75 72 72 65 6e |int all |occurren|
|00001640| 63 65 73 20 6f 66 20 44 | 49 47 49 54 20 6f 6e 20 |ces of D|IGIT on |
|00001650| 74 68 65 20 70 75 7a 7a | 6c 65 20 62 6f 61 72 64 |the puzz|le board|
|00001660| 2e 22 5d 29 0a 28 64 65 | 66 61 6c 69 61 73 20 27 |."]).(de|falias '|
|00001670| 6d 70 75 7a 2d 64 65 6c | 65 74 65 2d 6c 69 6e 65 |mpuz-del|ete-line|
|00001680| 20 23 5b 6e 69 6c 20 22 | 60 66 c0 55 3f 85 0f 00 | #[nil "|`f.U?...|
|00001690| c1 c2 21 88 82 00 00 87 | 22 20 5b 31 30 20 64 65 |..!.....|" [10 de|
|000016a0| 6c 65 74 65 2d 63 68 61 | 72 20 31 5d 20 32 20 22 |lete-cha|r 1] 2 "|
|000016b0| 5c 0a 43 6c 65 61 72 20 | 66 72 6f 6d 20 70 6f 69 |\.Clear |from poi|
|000016c0| 6e 74 20 74 6f 20 6e 65 | 78 74 20 6e 65 77 6c 69 |nt to ne|xt newli|
|000016d0| 6e 65 2e 22 5d 29 0a 28 | 64 65 66 61 6c 69 61 73 |ne."]).(|defalias|
|000016e0| 20 27 6d 70 75 7a 2d 67 | 65 74 2d 62 75 66 66 65 | 'mpuz-g|et-buffe|
|000016f0| 72 20 23 5b 6e 69 6c 20 | 22 c0 c1 21 87 22 20 5b |r #[nil |"..!." [|
|00001700| 67 65 74 2d 62 75 66 66 | 65 72 20 22 2a 4d 75 6c |get-buff|er "*Mul|
|00001710| 74 20 50 75 7a 7a 6c 65 | 2a 22 5d 20 32 20 22 5c |t Puzzle|*"] 2 "\|
|00001720| 0a 47 65 74 20 74 68 65 | 20 70 75 7a 7a 6c 65 20 |.Get the| puzzle |
|00001730| 62 75 66 66 65 72 20 69 | 66 20 69 74 20 65 78 69 |buffer i|f it exi|
|00001740| 73 74 73 2e 22 5d 29 0a | 28 64 65 66 61 6c 69 61 |sts."]).|(defalia|
|00001750| 73 20 27 6d 70 75 7a 2d | 73 77 69 74 63 68 2d 74 |s 'mpuz-|switch-t|
|00001760| 6f 2d 77 69 6e 64 6f 77 | 20 23 5b 6e 69 6c 20 22 |o-window| #[nil "|
|00001770| c0 20 89 19 84 5c 6e 00 | c2 20 11 c3 09 21 88 5c |. ...\n.|. ...!.\|
|00001780| 66 84 15 00 c5 20 88 c6 | 20 29 87 22 20 5b 6d 70 |f.... ..| )." [mp|
|00001790| 75 7a 2d 67 65 74 2d 62 | 75 66 66 65 72 20 62 75 |uz-get-b|uffer bu|
|000017a0| 66 66 20 6d 70 75 7a 2d | 63 72 65 61 74 65 2d 62 |ff mpuz-|create-b|
|000017b0| 75 66 66 65 72 20 73 77 | 69 74 63 68 2d 74 6f 2d |uffer sw|itch-to-|
|000017c0| 62 75 66 66 65 72 20 62 | 75 66 66 65 72 2d 72 65 |buffer b|uffer-re|
|000017d0| 61 64 2d 6f 6e 6c 79 20 | 74 6f 67 67 6c 65 2d 72 |ad-only |toggle-r|
|000017e0| 65 61 64 2d 6f 6e 6c 79 | 20 6d 70 75 7a 2d 6d 6f |ead-only| mpuz-mo|
|000017f0| 64 65 5d 20 33 20 22 5c | 0a 46 69 6e 64 20 6f 72 |de] 3 "\|.Find or|
|00001800| 20 63 72 65 61 74 65 20 | 74 68 65 20 4d 75 6c 74 | create |the Mult|
|00001810| 2d 50 75 7a 7a 6c 65 20 | 62 75 66 66 65 72 2c 20 |-Puzzle |buffer, |
|00001820| 61 6e 64 20 64 69 73 70 | 6c 61 79 20 69 74 2e 22 |and disp|lay it."|
|00001830| 5d 29 0a 28 64 65 66 61 | 6c 69 61 73 20 27 6d 70 |]).(defa|lias 'mp|
|00001840| 75 7a 2d 61 62 6f 72 74 | 2d 67 61 6d 65 20 23 5b |uz-abort|-game #[|
|00001850| 6e 69 6c 20 22 c0 c1 21 | 88 c2 13 c4 15 c6 0e 07 |nil "..!|........|
|00001860| c2 5c 22 88 c8 20 89 1e | 09 85 1a 00 ca 0e 09 21 |.\".. ..|.......!|
|00001870| 29 87 22 20 5b 6d 65 73 | 73 61 67 65 20 22 4d 75 |)." [mes|sage "Mu|
|00001880| 6c 74 20 50 75 7a 7a 6c | 65 20 61 62 6f 72 74 65 |lt Puzzl|e aborte|
|00001890| 64 2e 22 20 6e 69 6c 20 | 6d 70 75 7a 2d 69 6e 2d |d." nil |mpuz-in-|
|000018a0| 70 72 6f 67 72 65 73 73 | 20 30 20 6d 70 75 7a 2d |progress| 0 mpuz-|
|000018b0| 6e 62 2d 65 72 72 6f 72 | 73 20 66 69 6c 6c 61 72 |nb-error|s fillar|
|000018c0| 72 61 79 20 6d 70 75 7a | 2d 62 6f 61 72 64 20 6d |ray mpuz|-board m|
|000018d0| 70 75 7a 2d 67 65 74 2d | 62 75 66 66 65 72 20 62 |puz-get-|buffer b|
|000018e0| 75 66 66 20 6b 69 6c 6c | 2d 62 75 66 66 65 72 5d |uff kill|-buffer]|
|000018f0| 20 34 20 22 5c 0a 41 62 | 6f 72 74 20 61 6e 79 20 | 4 "\.Ab|ort any |
|00001900| 70 75 7a 7a 6c 65 20 69 | 6e 20 70 72 6f 67 72 65 |puzzle i|n progre|
|00001910| 73 73 2e 22 5d 29 0a 28 | 64 65 66 61 6c 69 61 73 |ss."]).(|defalias|
|00001920| 20 27 6d 70 75 7a 2d 73 | 74 61 72 74 2d 6e 65 77 | 'mpuz-s|tart-new|
|00001930| 2d 67 61 6d 65 20 23 5b | 6e 69 6c 20 22 c0 c1 21 |-game #[|nil "..!|
|00001940| 88 c2 13 c4 15 c6 0e 07 | c8 5c 22 88 c9 20 88 ca |........|.\".. ..|
|00001950| 20 88 cb 20 88 cc 20 88 | cd 20 87 22 20 5b 6d 65 | .. .. .|. ." [me|
|00001960| 73 73 61 67 65 20 22 48 | 65 72 65 20 77 65 20 67 |ssage "H|ere we g|
|00001970| 6f 2e 2e 2e 22 20 30 20 | 6d 70 75 7a 2d 6e 62 2d |o..." 0 |mpuz-nb-|
|00001980| 65 72 72 6f 72 73 20 74 | 20 6d 70 75 7a 2d 69 6e |errors t| mpuz-in|
|00001990| 2d 70 72 6f 67 72 65 73 | 73 20 66 69 6c 6c 61 72 |-progres|s fillar|
|000019a0| 72 61 79 20 6d 70 75 7a | 2d 66 6f 75 6e 64 2d 64 |ray mpuz|-found-d|
|000019b0| 69 67 69 74 73 20 6e 69 | 6c 20 6d 70 75 7a 2d 72 |igits ni|l mpuz-r|
|000019c0| 61 6e 64 6f 6d 2d 70 75 | 7a 7a 6c 65 20 6d 70 75 |andom-pu|zzle mpu|
|000019d0| 7a 2d 73 77 69 74 63 68 | 2d 74 6f 2d 77 69 6e 64 |z-switch|-to-wind|
|000019e0| 6f 77 20 6d 70 75 7a 2d | 70 61 69 6e 74 2d 62 6f |ow mpuz-|paint-bo|
|000019f0| 61 72 64 20 6d 70 75 7a | 2d 70 61 69 6e 74 2d 65 |ard mpuz|-paint-e|
|00001a00| 72 72 6f 72 73 20 6d 70 | 75 7a 2d 61 73 6b 2d 66 |rrors mp|uz-ask-f|
|00001a10| 6f 72 2d 74 72 79 5d 20 | 33 20 22 5c 0a 53 74 61 |or-try] |3 "\.Sta|
|00001a20| 72 74 20 61 20 6e 65 77 | 20 70 75 7a 7a 6c 65 2e |rt a new| puzzle.|
|00001a30| 22 5d 29 0a 28 64 65 66 | 61 6c 69 61 73 20 27 6d |"]).(def|alias 'm|
|00001a40| 70 75 7a 2d 6f 66 66 65 | 72 2d 6e 65 77 2d 67 61 |puz-offe|r-new-ga|
|00001a50| 6d 65 20 23 5b 6e 69 6c | 20 22 c0 c1 21 83 09 00 |me #[nil| "..!...|
|00001a60| c2 20 87 c3 c4 21 87 22 | 20 5b 79 2d 6f 72 2d 6e |. ...!."| [y-or-n|
|00001a70| 2d 70 20 22 53 74 61 72 | 74 20 61 20 6e 65 77 20 |-p "Star|t a new |
|00001a80| 67 61 6d 65 20 22 20 6d | 70 75 7a 2d 73 74 61 72 |game " m|puz-star|
|00001a90| 74 2d 6e 65 77 2d 67 61 | 6d 65 20 6d 65 73 73 61 |t-new-ga|me messa|
|00001aa0| 67 65 20 22 4f 4b 2e 20 | 49 20 77 6f 6e 27 74 2e |ge "OK. |I won't.|
|00001ab0| 22 5d 20 32 20 22 5c 0a | 41 73 6b 20 69 66 20 75 |"] 2 "\.|Ask if u|
|00001ac0| 73 65 72 20 77 61 6e 74 | 73 20 74 6f 20 73 74 61 |ser want|s to sta|
|00001ad0| 72 74 20 61 20 6e 65 77 | 20 70 75 7a 7a 6c 65 2e |rt a new| puzzle.|
|00001ae0| 22 5d 29 0a 28 64 65 66 | 61 6c 69 61 73 20 27 6d |"]).(def|alias 'm|
|00001af0| 70 75 7a 20 23 5b 6e 69 | 6c 20 22 c0 20 88 09 83 |puz #[ni|l ". ...|
|00001b00| 5c 6e 00 c2 20 87 c3 20 | 87 22 20 5b 6d 70 75 7a |\n.. .. |." [mpuz|
|00001b10| 2d 73 77 69 74 63 68 2d | 74 6f 2d 77 69 6e 64 6f |-switch-|to-windo|
|00001b20| 77 20 6d 70 75 7a 2d 69 | 6e 2d 70 72 6f 67 72 65 |w mpuz-i|n-progre|
|00001b30| 73 73 20 6d 70 75 7a 2d | 6f 66 66 65 72 2d 61 62 |ss mpuz-|offer-ab|
|00001b40| 6f 72 74 20 6d 70 75 7a | 2d 73 74 61 72 74 2d 6e |ort mpuz|-start-n|
|00001b50| 65 77 2d 67 61 6d 65 5d | 20 31 20 22 5c 0a 4d 75 |ew-game]| 1 "\.Mu|
|00001b60| 6c 74 69 70 6c 69 63 61 | 74 69 6f 6e 20 70 75 7a |ltiplica|tion puz|
|00001b70| 7a 6c 65 20 77 69 74 68 | 20 47 4e 55 20 45 6d 61 |zle with| GNU Ema|
|00001b80| 63 73 2e 22 20 6e 69 6c | 5d 29 0a 28 64 65 66 61 |cs." nil|]).(defa|
|00001b90| 6c 69 61 73 20 27 6d 70 | 75 7a 2d 6f 66 66 65 72 |lias 'mp|uz-offer|
|00001ba0| 2d 61 62 6f 72 74 20 23 | 5b 6e 69 6c 20 22 c0 c1 |-abort #|[nil "..|
|00001bb0| 21 83 09 00 c2 20 87 c3 | 20 87 22 20 5b 79 2d 6f |!.... ..| ." [y-o|
|00001bc0| 72 2d 6e 2d 70 20 22 41 | 62 6f 72 74 20 67 61 6d |r-n-p "A|bort gam|
|00001bd0| 65 20 22 20 6d 70 75 7a | 2d 61 62 6f 72 74 2d 67 |e " mpuz|-abort-g|
|00001be0| 61 6d 65 20 6d 70 75 7a | 2d 61 73 6b 2d 66 6f 72 |ame mpuz|-ask-for|
|00001bf0| 2d 74 72 79 5d 20 32 20 | 22 5c 0a 41 73 6b 20 69 |-try] 2 |"\.Ask i|
|00001c00| 66 20 75 73 65 72 20 77 | 61 6e 74 73 20 74 6f 20 |f user w|ants to |
|00001c10| 61 62 6f 72 74 20 63 75 | 72 72 65 6e 74 20 70 75 |abort cu|rrent pu|
|00001c20| 7a 7a 6c 65 2e 22 20 6e | 69 6c 5d 29 0a 28 64 65 |zzle." n|il]).(de|
|00001c30| 66 61 6c 69 61 73 20 27 | 6d 70 75 7a 2d 61 73 6b |falias '|mpuz-ask|
|00001c40| 2d 66 6f 72 2d 74 72 79 | 20 23 5b 6e 69 6c 20 22 |-for-try| #[nil "|
|00001c50| c0 c1 21 87 22 20 5b 6d | 65 73 73 61 67 65 20 22 |..!." [m|essage "|
|00001c60| 59 6f 75 72 20 74 72 79 | 20 3f 22 5d 20 32 20 22 |Your try| ?"] 2 "|
|00001c70| 5c 0a 41 73 6b 20 66 6f | 72 20 75 73 65 72 20 70 |\.Ask fo|r user p|
|00001c80| 72 6f 70 6f 73 61 6c 20 | 69 6e 20 70 75 7a 7a 6c |roposal |in puzzl|
|00001c90| 65 2e 22 5d 29 0a 28 64 | 65 66 61 6c 69 61 73 20 |e."]).(d|efalias |
|00001ca0| 27 6d 70 75 7a 2d 74 72 | 79 2d 6c 65 74 74 65 72 |'mpuz-tr|y-letter|
|00001cb0| 20 23 5b 6e 69 6c 20 22 | 08 83 62 00 c1 89 89 89 | #[nil "|..b.....|
|00001cc0| 1a 1b 1c 1d 0e 06 96 15 | 0e 07 0d c8 5a 48 14 0e |........|....ZH..|
|00001cd0| 09 5c 66 48 83 25 00 c2 | ca 0d 5c 22 82 60 00 0e |.\fH.%..|..\".`..|
|00001ce0| 0b 5c 66 48 84 33 00 c2 | cc 0d 5c 22 82 60 00 c2 |.\fH.3..|..\".`..|
|00001cf0| cd 0d 5c 22 88 ce 20 89 | 13 cf 3d 83 44 00 ce 20 |..\".. .|..=.D.. |
|00001d00| 13 c2 d0 0d 0b 23 88 0b | d1 56 84 56 00 0b d2 57 |.....#..|.V.V...W|
|00001d10| 83 5c 5c 00 d3 d4 21 82 | 60 00 d5 0d 0b 5c 22 2c |.\\...!.|`....\",|
|00001d20| 87 d6 20 87 22 20 5b 6d | 70 75 7a 2d 69 6e 2d 70 |.. ." [m|puz-in-p|
|00001d30| 72 6f 67 72 65 73 73 20 | 6e 69 6c 20 6d 65 73 73 |rogress |nil mess|
|00001d40| 61 67 65 20 64 69 67 69 | 74 2d 63 68 61 72 20 64 |age digi|t-char d|
|00001d50| 69 67 69 74 20 6c 65 74 | 74 65 72 2d 63 68 61 72 |igit let|ter-char|
|00001d60| 20 6c 61 73 74 2d 63 6f | 6d 6d 61 6e 64 2d 63 68 | last-co|mmand-ch|
|00001d70| 61 72 20 6d 70 75 7a 2d | 6c 65 74 74 65 72 2d 74 |ar mpuz-|letter-t|
|00001d80| 6f 2d 64 69 67 69 74 20 | 36 35 20 6d 70 75 7a 2d |o-digit |65 mpuz-|
|00001d90| 66 6f 75 6e 64 2d 64 69 | 67 69 74 73 20 22 25 63 |found-di|gits "%c|
|00001da0| 20 61 6c 72 65 61 64 79 | 20 73 6f 6c 76 65 64 2e | already| solved.|
|00001db0| 22 20 6d 70 75 7a 2d 62 | 6f 61 72 64 20 22 25 63 |" mpuz-b|oard "%c|
|00001dc0| 20 64 6f 65 73 20 6e 6f | 74 20 61 70 70 65 61 72 | does no|t appear|
|00001dd0| 2e 22 20 22 25 63 20 3d | 20 22 20 72 65 61 64 2d |." "%c =| " read-|
|00001de0| 63 68 61 72 20 36 31 20 | 22 25 63 20 3d 20 25 63 |char 61 |"%c = %c|
|00001df0| 22 20 35 37 20 34 38 20 | 64 69 6e 67 20 74 20 6d |" 57 48 |ding t m|
|00001e00| 70 75 7a 2d 74 72 79 2d | 70 72 6f 70 6f 73 61 6c |puz-try-|proposal|
|00001e10| 20 6d 70 75 7a 2d 6f 66 | 66 65 72 2d 6e 65 77 2d | mpuz-of|fer-new-|
|00001e20| 67 61 6d 65 5d 20 35 20 | 22 5c 0a 50 72 6f 70 6f |game] 5 |"\.Propo|
|00001e30| 73 65 20 61 20 64 69 67 | 69 74 20 66 6f 72 20 61 |se a dig|it for a|
|00001e40| 20 6c 65 74 74 65 72 20 | 69 6e 20 70 75 7a 7a 6c | letter |in puzzl|
|00001e50| 65 2e 22 20 6e 69 6c 5d | 29 0a 28 64 65 66 61 6c |e." nil]|).(defal|
|00001e60| 69 61 73 20 27 6d 70 75 | 7a 2d 74 72 79 2d 70 72 |ias 'mpu|z-try-pr|
|00001e70| 6f 70 6f 73 61 6c 20 23 | 5b 28 6c 65 74 74 65 72 |oposal #|[(letter|
|00001e80| 2d 63 68 61 72 20 64 69 | 67 69 74 2d 63 68 61 72 |-char di|git-char|
|00001e90| 29 20 22 08 c1 5a 1a 0b | c4 5a 1d 0e 06 5c 6e 48 |) "..Z..|.Z...\nH|
|00001ea0| 1e 07 0e 08 0e 07 48 83 | 1c 00 c9 ca 21 82 42 00 |......H.|....!.B.|
|00001eb0| 0d 0e 07 55 83 32 00 c9 | cb 08 0b 23 88 cc 20 88 |...U.2..|...#.. .|
|00001ec0| cd 0d 21 82 42 00 c9 ce | 08 0b 23 88 cc 20 88 0e |..!.B...|..#.. ..|
|00001ed0| 0f 54 16 0f d0 20 2b 87 | 22 20 5b 6c 65 74 74 65 |.T... +.|" [lette|
|00001ee0| 72 2d 63 68 61 72 20 36 | 35 20 6c 65 74 74 65 72 |r-char 6|5 letter|
|00001ef0| 20 64 69 67 69 74 2d 63 | 68 61 72 20 34 38 20 64 | digit-c|har 48 d|
|00001f00| 69 67 69 74 20 6d 70 75 | 7a 2d 6c 65 74 74 65 72 |igit mpu|z-letter|
|00001f10| 2d 74 6f 2d 64 69 67 69 | 74 20 63 6f 72 72 65 63 |-to-digi|t correc|
|00001f20| 74 2d 64 69 67 69 74 20 | 6d 70 75 7a 2d 66 6f 75 |t-digit |mpuz-fou|
|00001f30| 6e 64 2d 64 69 67 69 74 | 73 20 6d 65 73 73 61 67 |nd-digit|s messag|
|00001f40| 65 20 22 25 63 20 68 61 | 73 20 61 6c 72 65 61 64 |e "%c ha|s alread|
|00001f50| 79 20 62 65 65 6e 20 66 | 6f 75 6e 64 2e 22 20 22 |y been f|ound." "|
|00001f60| 25 63 20 3d 20 25 63 20 | 63 6f 72 72 65 63 74 20 |%c = %c |correct |
|00001f70| 21 22 20 6d 70 75 7a 2d | 64 69 6e 67 20 6d 70 75 |!" mpuz-|ding mpu|
|00001f80| 7a 2d 63 6f 72 72 65 63 | 74 2d 67 75 65 73 73 20 |z-correc|t-guess |
|00001f90| 22 25 63 20 3d 20 25 63 | 20 69 6e 63 6f 72 72 65 |"%c = %c| incorre|
|00001fa0| 63 74 20 21 22 20 6d 70 | 75 7a 2d 6e 62 2d 65 72 |ct !" mp|uz-nb-er|
|00001fb0| 72 6f 72 73 20 6d 70 75 | 7a 2d 70 61 69 6e 74 2d |rors mpu|z-paint-|
|00001fc0| 65 72 72 6f 72 73 5d 20 | 34 20 22 5c 0a 50 72 6f |errors] |4 "\.Pro|
|00001fd0| 70 6f 73 65 20 4c 45 54 | 54 45 52 2d 43 48 41 52 |pose LET|TER-CHAR|
|00001fe0| 20 61 73 20 63 6f 64 65 | 20 66 6f 72 20 44 49 47 | as code| for DIG|
|00001ff0| 49 54 2d 43 48 41 52 2e | 22 5d 29 0a 28 64 65 66 |IT-CHAR.|"]).(def|
|00002000| 61 6c 69 61 73 20 27 6d | 70 75 7a 2d 63 6f 72 72 |alias 'm|puz-corr|
|00002010| 65 63 74 2d 67 75 65 73 | 73 20 23 5b 28 64 69 67 |ect-gues|s #[(dig|
|00002020| 69 74 29 20 22 08 09 c2 | 49 88 c3 09 21 88 c4 20 |it) "...|I...!.. |
|00002030| 85 10 00 c5 20 87 22 20 | 5b 6d 70 75 7a 2d 66 6f |.... ." |[mpuz-fo|
|00002040| 75 6e 64 2d 64 69 67 69 | 74 73 20 64 69 67 69 74 |und-digi|ts digit|
|00002050| 20 74 20 6d 70 75 7a 2d | 70 61 69 6e 74 2d 64 69 | t mpuz-|paint-di|
|00002060| 67 69 74 20 6d 70 75 7a | 2d 63 68 65 63 6b 2d 61 |git mpuz|-check-a|
|00002070| 6c 6c 2d 73 6f 6c 76 65 | 64 20 6d 70 75 7a 2d 63 |ll-solve|d mpuz-c|
|00002080| 6c 6f 73 65 2d 67 61 6d | 65 5d 20 33 20 22 5c 0a |lose-gam|e] 3 "\.|
|00002090| 48 61 6e 64 6c 65 20 63 | 6f 72 72 65 63 74 20 67 |Handle c|orrect g|
|000020a0| 75 65 73 73 69 6e 67 20 | 6f 66 20 44 49 47 49 54 |uessing |of DIGIT|
|000020b0| 2e 22 5d 29 0a 28 64 65 | 66 61 6c 69 61 73 20 27 |."]).(de|falias '|
|000020c0| 6d 70 75 7a 2d 63 6c 6f | 73 65 2d 67 61 6d 65 20 |mpuz-clo|se-game |
|000020d0| 23 5b 6e 69 6c 20 22 c0 | 11 5c 6e 0b 5c 5c 12 5c |#[nil ".|.\n.\\.\|
|000020e0| 66 54 14 c5 20 88 c6 20 | 1e 07 c7 0e 07 21 88 c8 |fT.. .. |.....!..|
|000020f0| c9 21 88 ca 0e 07 cb 50 | 21 83 27 00 cc 20 82 2a |.!.....P|!.'.. .*|
|00002100| 00 c7 cd 21 29 87 22 20 | 5b 6e 69 6c 20 6d 70 75 |...!)." |[nil mpu|
|00002110| 7a 2d 69 6e 2d 70 72 6f | 67 72 65 73 73 20 6d 70 |z-in-pro|gress mp|
|00002120| 75 7a 2d 6e 62 2d 63 75 | 6d 75 6c 61 74 65 64 2d |uz-nb-cu|mulated-|
|00002130| 65 72 72 6f 72 73 20 6d | 70 75 7a 2d 6e 62 2d 65 |errors m|puz-nb-e|
|00002140| 72 72 6f 72 73 20 6d 70 | 75 7a 2d 6e 62 2d 63 6f |rrors mp|uz-nb-co|
|00002150| 6d 70 6c 65 74 65 64 2d | 67 61 6d 65 73 20 6d 70 |mpleted-|games mp|
|00002160| 75 7a 2d 70 61 69 6e 74 | 2d 73 74 61 74 69 73 74 |uz-paint|-statist|
|00002170| 69 63 73 20 6d 70 75 7a | 2d 63 6f 6e 67 72 61 74 |ics mpuz|-congrat|
|00002180| 75 6c 61 74 65 20 6d 65 | 73 73 61 67 65 20 73 69 |ulate me|ssage si|
|00002190| 74 2d 66 6f 72 20 34 20 | 79 2d 6f 72 2d 6e 2d 70 |t-for 4 |y-or-n-p|
|000021a0| 20 22 20 20 53 74 61 72 | 74 20 61 20 6e 65 77 20 | " Star|t a new |
|000021b0| 67 61 6d 65 20 22 20 6d | 70 75 7a 2d 73 74 61 72 |game " m|puz-star|
|000021c0| 74 2d 6e 65 77 2d 67 61 | 6d 65 20 22 47 6f 6f 64 |t-new-ga|me "Good|
|000021d0| 20 42 79 65 20 21 22 5d | 20 33 20 22 5c 0a 48 6f | Bye !"]| 3 "\.Ho|
|000021e0| 75 73 65 63 6c 65 61 6e | 69 6e 67 20 77 68 65 6e |useclean|ing when|
|000021f0| 20 70 75 7a 7a 6c 65 20 | 68 61 73 20 62 65 65 6e | puzzle |has been|
|00002200| 20 73 6f 6c 76 65 64 2e | 22 5d 29 0a 28 64 65 66 | solved.|"]).(def|
|00002210| 61 6c 69 61 73 20 27 6d | 70 75 7a 2d 63 6f 6e 67 |alias 'm|puz-cong|
|00002220| 72 61 74 75 6c 61 74 65 | 20 23 5b 6e 69 6c 20 22 |ratulate| #[nil "|
|00002230| c0 c1 5c 6e 89 c3 55 83 | 0d 00 c4 82 5c 5c 00 5c |..\n..U.|....\\.\|
|00002240| 6e c5 55 83 17 00 c6 82 | 5c 5c 00 5c 6e c7 55 83 |n.U.....|\\.\n.U.|
|00002250| 21 00 c8 82 5c 5c 00 5c | 6e c9 55 83 2b 00 ca 82 |!...\\.\|n.U.+...|
|00002260| 5c 5c 00 5c 6e cb 55 83 | 35 00 cc 82 5c 5c 00 5c |\\.\n.U.|5...\\.\|
|00002270| 6e cd 59 83 45 00 5c 6e | ce 57 83 45 00 cf 82 5c |n.Y.E.\n|.W.E...\|
|00002280| 5c 00 5c 6e ce 59 83 55 | 00 5c 6e d0 57 83 55 00 |\.\n.Y.U|.\n.W.U.|
|00002290| d1 82 5c 5c 00 5c 6e d0 | 59 85 5c 5c 00 d2 23 87 |..\\.\n.|Y.\\..#.|
|000022a0| 22 20 5b 66 6f 72 6d 61 | 74 20 22 50 75 7a 7a 6c |" [forma|t "Puzzl|
|000022b0| 65 20 73 6f 6c 76 65 64 | 20 77 69 74 68 20 25 64 |e solved| with %d|
|000022c0| 20 65 72 72 6f 72 73 2e | 20 25 73 22 20 6d 70 75 | errors.| %s" mpu|
|000022d0| 7a 2d 6e 62 2d 65 72 72 | 6f 72 73 20 30 20 22 54 |z-nb-err|ors 0 "T|
|000022e0| 68 61 74 27 73 20 70 65 | 72 66 65 63 74 20 21 22 |hat's pe|rfect !"|
|000022f0| 20 31 20 22 54 68 61 74 | 27 73 20 76 65 72 79 20 | 1 "That|'s very |
|00002300| 67 6f 6f 64 20 21 22 20 | 32 20 22 54 68 61 74 27 |good !" |2 "That'|
|00002310| 73 20 67 6f 6f 64 2e 22 | 20 33 20 22 54 68 61 74 |s good."| 3 "That|
|00002320| 27 73 20 6e 6f 74 20 62 | 61 64 2e 22 20 34 20 22 |'s not b|ad." 4 "|
|00002330| 54 68 61 74 27 73 20 6e | 6f 74 20 74 6f 6f 20 62 |That's n|ot too b|
|00002340| 61 64 2e 2e 2e 22 20 35 | 20 31 30 20 22 54 68 61 |ad..." 5| 10 "Tha|
|00002350| 74 27 73 20 62 61 64 20 | 21 22 20 31 35 20 22 54 |t's bad |!" 15 "T|
|00002360| 68 61 74 27 73 20 61 77 | 66 75 6c 2e 22 20 22 54 |hat's aw|ful." "T|
|00002370| 68 61 74 27 73 20 6e 6f | 74 20 73 65 72 69 6f 75 |hat's no|t seriou|
|00002380| 73 2e 22 5d 20 35 20 22 | 5c 0a 42 75 69 6c 64 20 |s."] 5 "|\.Build |
|00002390| 61 20 63 6f 6e 67 72 61 | 74 75 6c 61 74 69 6f 6e |a congra|tulation|
|000023a0| 20 6d 65 73 73 61 67 65 | 20 77 68 65 6e 20 70 75 | message| when pu|
|000023b0| 7a 7a 6c 65 20 69 73 20 | 73 6f 6c 76 65 64 2e 22 |zzle is |solved."|
|000023c0| 5d 29 0a 28 64 65 66 61 | 6c 69 61 73 20 27 6d 70 |]).(defa|lias 'mp|
|000023d0| 75 7a 2d 73 68 6f 77 2d | 73 6f 6c 75 74 69 6f 6e |uz-show-|solution|
|000023e0| 20 23 5b 6e 69 6c 20 22 | c0 20 88 c1 89 1a 1b c4 | #[nil "|. ......|
|000023f0| 13 c5 0b 54 89 13 56 83 | 20 00 0e 06 0b 48 84 09 |...T..V.| ....H..|
|00002400| 00 0b 5c 6e 42 12 82 09 | 00 c7 c8 5c 6e 5c 22 2a |..\nB...|...\n\"*|
|00002410| 87 22 20 5b 6d 70 75 7a | 2d 73 77 69 74 63 68 2d |." [mpuz|-switch-|
|00002420| 74 6f 2d 77 69 6e 64 6f | 77 20 6e 69 6c 20 6c 69 |to-windo|w nil li|
|00002430| 73 74 20 64 69 67 69 74 | 20 2d 31 20 31 30 20 6d |st digit| -1 10 m|
|00002440| 70 75 7a 2d 66 6f 75 6e | 64 2d 64 69 67 69 74 73 |puz-foun|d-digits|
|00002450| 20 6d 61 70 63 61 72 20 | 6d 70 75 7a 2d 63 6f 72 | mapcar |mpuz-cor|
|00002460| 72 65 63 74 2d 67 75 65 | 73 73 5d 20 33 20 22 5c |rect-gue|ss] 3 "\|
|00002470| 0a 44 69 73 70 6c 61 79 | 20 73 6f 6c 75 74 69 6f |.Display| solutio|
|00002480| 6e 20 66 6f 72 20 64 65 | 62 75 67 67 69 6e 67 20 |n for de|bugging |
|00002490| 70 75 72 70 6f 73 65 73 | 2e 22 20 6e 69 6c 5d 29 |purposes|." nil])|
|000024a0| 0a | |. | |
+--------+-------------------------+-------------------------+--------+--------+