home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was processed as: SHell self-extracting ARchive
(archive/shar).
You can browse this item here: 3428
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| Newsgroup Content (archive/news)
| magic
| Supported |
100%
| dexvert
| SHell self-extracting ARchive (archive/shar)
| magic
| Supported |
100%
| dexvert
| Internet Message Format (text/imf)
| magic
| Supported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| news or mail, ASCII text
| default
| |
100%
| TrID
| E-Mail message (Var. 2)
| default
| |
100%
| checkBytes
| Printable ASCII
| default
| |
100%
| perlTextCheck
| Likely Text (Perl)
| default
| |
100%
| siegfried
| fmt/329 Shell Archive Format
| default
| |
100%
| detectItEasy
| Format: plain text[LF]
| default (weak)
| |
100%
| xdgMime
| message/rfc822
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 46 72 6f 6d 3a 20 65 6a | 6f 40 69 6d 73 2e 61 6c |From: ej|o@ims.al|
|00000010| 61 73 6b 61 2e 65 64 75 | 20 28 45 72 69 63 20 4f |aska.edu| (Eric O|
|00000020| 6c 73 6f 6e 29 0a 4e 65 | 77 73 67 72 6f 75 70 73 |lson).Ne|wsgroups|
|00000030| 3a 20 61 6c 74 2e 73 6f | 75 72 63 65 73 2c 76 6d |: alt.so|urces,vm|
|00000040| 73 6e 65 74 2e 73 6f 75 | 72 63 65 73 2e 67 61 6d |snet.sou|rces.gam|
|00000050| 65 73 0a 53 75 62 6a 65 | 63 74 3a 20 62 6f 6d 62 |es.Subje|ct: bomb|
|00000060| 20 2d 20 73 69 6d 70 6c | 65 20 64 65 64 75 63 74 | - simpl|e deduct|
|00000070| 69 76 65 20 67 61 6d 65 | 2c 20 70 61 72 74 20 31 |ive game|, part 1|
|00000080| 2f 31 0a 4d 65 73 73 61 | 67 65 2d 49 44 3a 20 3c |/1.Messa|ge-ID: <|
|00000090| 31 39 39 31 4d 61 79 32 | 36 2e 32 30 34 30 30 33 |1991May2|6.204003|
|000000a0| 2e 31 33 37 34 30 40 69 | 6d 73 2e 61 6c 61 73 6b |.13740@i|ms.alask|
|000000b0| 61 2e 65 64 75 3e 0a 44 | 61 74 65 3a 20 32 36 20 |a.edu>.D|ate: 26 |
|000000c0| 4d 61 79 20 39 31 20 32 | 31 3a 33 39 3a 35 38 20 |May 91 2|1:39:58 |
|000000d0| 47 4d 54 0a 0a 42 6f 6d | 62 20 69 73 20 61 20 73 |GMT..Bom|b is a s|
|000000e0| 69 6d 70 6c 65 20 67 61 | 6d 65 20 69 6e 20 77 68 |imple ga|me in wh|
|000000f0| 69 63 68 20 79 6f 75 20 | 64 65 64 75 63 65 20 77 |ich you |deduce w|
|00000100| 68 65 72 65 20 62 6f 6d | 62 73 20 61 72 65 20 68 |here bom|bs are h|
|00000110| 69 64 64 65 6e 20 69 6e | 20 61 0a 67 72 69 64 2c |idden in| a.grid,|
|00000120| 20 61 6e 64 20 6d 6f 76 | 65 20 61 72 6f 75 6e 64 | and mov|e around|
|00000130| 20 74 68 65 6d 2e 20 20 | 54 68 69 73 20 69 73 20 | them. |This is |
|00000140| 61 20 75 6e 69 78 2d 73 | 74 79 6c 65 20 73 68 61 |a unix-s|tyle sha|
|00000150| 72 20 66 69 6c 65 2c 20 | 62 75 74 20 69 74 0a 64 |r file, |but it.d|
|00000160| 6f 65 73 20 63 6f 6d 70 | 69 6c 65 20 65 61 73 69 |oes comp|ile easi|
|00000170| 6c 79 20 6f 6e 20 76 6d | 73 2c 20 61 73 20 77 65 |ly on vm|s, as we|
|00000180| 6c 6c 2e 20 20 28 41 74 | 20 6c 65 61 73 74 2c 20 |ll. (At| least, |
|00000190| 69 74 20 64 69 64 20 66 | 6f 72 20 6d 65 2e 29 0a |it did f|or me.).|
|000001a0| 0a 23 21 20 2f 62 69 6e | 2f 73 68 0a 23 20 54 68 |.#! /bin|/sh.# Th|
|000001b0| 69 73 20 69 73 20 61 20 | 73 68 65 6c 6c 20 61 72 |is is a |shell ar|
|000001c0| 63 68 69 76 65 2e 20 20 | 52 65 6d 6f 76 65 20 61 |chive. |Remove a|
|000001d0| 6e 79 74 68 69 6e 67 20 | 62 65 66 6f 72 65 20 74 |nything |before t|
|000001e0| 68 69 73 20 6c 69 6e 65 | 2c 20 74 68 65 6e 20 75 |his line|, then u|
|000001f0| 6e 70 61 63 6b 0a 23 20 | 69 74 20 62 79 20 73 61 |npack.# |it by sa|
|00000200| 76 69 6e 67 20 69 74 20 | 69 6e 74 6f 20 61 20 66 |ving it |into a f|
|00000210| 69 6c 65 20 61 6e 64 20 | 74 79 70 69 6e 67 20 22 |ile and |typing "|
|00000220| 73 68 20 66 69 6c 65 22 | 2e 20 20 54 6f 20 6f 76 |sh file"|. To ov|
|00000230| 65 72 77 72 69 74 65 20 | 65 78 69 73 74 69 6e 67 |erwrite |existing|
|00000240| 0a 23 20 66 69 6c 65 73 | 2c 20 74 79 70 65 20 22 |.# files|, type "|
|00000250| 73 68 20 66 69 6c 65 20 | 2d 63 22 2e 20 20 59 6f |sh file |-c". Yo|
|00000260| 75 20 63 61 6e 20 61 6c | 73 6f 20 66 65 65 64 20 |u can al|so feed |
|00000270| 74 68 69 73 20 61 73 20 | 73 74 61 6e 64 61 72 64 |this as |standard|
|00000280| 20 69 6e 70 75 74 20 76 | 69 61 0a 23 20 75 6e 73 | input v|ia.# uns|
|00000290| 68 61 72 2c 20 6f 72 20 | 62 79 20 74 79 70 69 6e |har, or |by typin|
|000002a0| 67 20 22 73 68 20 3c 66 | 69 6c 65 22 2c 20 65 2e |g "sh <f|ile", e.|
|000002b0| 67 2e 2e 20 20 49 66 20 | 74 68 69 73 20 61 72 63 |g.. If |this arc|
|000002c0| 68 69 76 65 20 69 73 20 | 63 6f 6d 70 6c 65 74 65 |hive is |complete|
|000002d0| 2c 20 79 6f 75 0a 23 20 | 77 69 6c 6c 20 73 65 65 |, you.# |will see|
|000002e0| 20 74 68 65 20 66 6f 6c | 6c 6f 77 69 6e 67 20 6d | the fol|lowing m|
|000002f0| 65 73 73 61 67 65 20 61 | 74 20 74 68 65 20 65 6e |essage a|t the en|
|00000300| 64 3a 0a 23 09 09 22 45 | 6e 64 20 6f 66 20 73 68 |d:.#.."E|nd of sh|
|00000310| 65 6c 6c 20 61 72 63 68 | 69 76 65 2e 22 0a 23 20 |ell arch|ive.".# |
|00000320| 43 6f 6e 74 65 6e 74 73 | 3a 20 20 52 65 61 64 6d |Contents|: Readm|
|00000330| 65 2e 62 6f 6d 62 20 62 | 6f 6d 62 2e 63 20 62 75 |e.bomb b|omb.c bu|
|00000340| 69 6c 64 5f 76 6d 73 2e | 63 6f 6d 20 6d 61 6b 65 |ild_vms.|com make|
|00000350| 66 69 6c 65 0a 23 20 57 | 72 61 70 70 65 64 20 62 |file.# W|rapped b|
|00000360| 79 20 65 6a 6f 40 68 61 | 79 65 73 20 6f 6e 20 53 |y ejo@ha|yes on S|
|00000370| 75 6e 20 4d 61 79 20 32 | 36 20 31 32 3a 32 31 3a |un May 2|6 12:21:|
|00000380| 33 34 20 31 39 39 31 0a | 50 41 54 48 3d 2f 62 69 |34 1991.|PATH=/bi|
|00000390| 6e 3a 2f 75 73 72 2f 62 | 69 6e 3a 2f 75 73 72 2f |n:/usr/b|in:/usr/|
|000003a0| 75 63 62 20 3b 20 65 78 | 70 6f 72 74 20 50 41 54 |ucb ; ex|port PAT|
|000003b0| 48 0a 69 66 20 74 65 73 | 74 20 2d 66 20 27 52 65 |H.if tes|t -f 'Re|
|000003c0| 61 64 6d 65 2e 62 6f 6d | 62 27 20 2d 61 20 22 24 |adme.bom|b' -a "$|
|000003d0| 7b 31 7d 22 20 21 3d 20 | 22 2d 63 22 20 3b 20 74 |{1}" != |"-c" ; t|
|000003e0| 68 65 6e 20 0a 20 20 65 | 63 68 6f 20 73 68 61 72 |hen . e|cho shar|
|000003f0| 3a 20 57 69 6c 6c 20 6e | 6f 74 20 63 6c 6f 62 62 |: Will n|ot clobb|
|00000400| 65 72 20 65 78 69 73 74 | 69 6e 67 20 66 69 6c 65 |er exist|ing file|
|00000410| 20 5c 22 27 52 65 61 64 | 6d 65 2e 62 6f 6d 62 27 | \"'Read|me.bomb'|
|00000420| 5c 22 0a 65 6c 73 65 0a | 65 63 68 6f 20 73 68 61 |\".else.|echo sha|
|00000430| 72 3a 20 45 78 74 72 61 | 63 74 69 6e 67 20 5c 22 |r: Extra|cting \"|
|00000440| 27 52 65 61 64 6d 65 2e | 62 6f 6d 62 27 5c 22 20 |'Readme.|bomb'\" |
|00000450| 5c 28 31 32 34 39 20 63 | 68 61 72 61 63 74 65 72 |\(1249 c|haracter|
|00000460| 73 5c 29 0a 73 65 64 20 | 22 73 2f 5e 58 2f 2f 22 |s\).sed |"s/^X//"|
|00000470| 20 3e 27 52 65 61 64 6d | 65 2e 62 6f 6d 62 27 20 | >'Readm|e.bomb' |
|00000480| 3c 3c 27 45 4e 44 5f 4f | 46 5f 46 49 4c 45 27 0a |<<'END_O|F_FILE'.|
|00000490| 58 42 6f 6d 62 20 69 73 | 20 61 20 73 69 6d 70 6c |XBomb is| a simpl|
|000004a0| 65 20 67 61 6d 65 20 6f | 66 20 64 65 64 75 63 74 |e game o|f deduct|
|000004b0| 69 6f 6e 2e 20 20 54 68 | 65 72 65 20 69 73 20 61 |ion. Th|ere is a|
|000004c0| 20 31 36 78 31 36 20 67 | 72 69 64 20 63 6f 6e 74 | 16x16 g|rid cont|
|000004d0| 61 69 6e 69 6e 67 0a 58 | 73 6f 6d 65 20 6e 75 6d |aining.X|some num|
|000004e0| 62 65 72 20 6f 66 20 62 | 6f 6d 62 73 20 28 74 68 |ber of b|ombs (th|
|000004f0| 65 20 64 65 66 61 75 6c | 74 20 69 73 20 33 30 29 |e defaul|t is 30)|
|00000500| 20 77 68 69 63 68 20 79 | 6f 75 20 6d 75 73 74 20 | which y|ou must |
|00000510| 6d 6f 76 65 20 74 68 72 | 6f 75 67 68 2e 0a 58 45 |move thr|ough..XE|
|00000520| 61 63 68 20 73 65 63 74 | 6f 72 20 69 73 20 64 65 |ach sect|or is de|
|00000530| 6e 6f 74 65 64 20 62 79 | 20 61 20 6e 75 6d 62 65 |noted by| a numbe|
|00000540| 72 20 66 72 6f 6d 20 31 | 20 74 6f 20 38 20 72 65 |r from 1| to 8 re|
|00000550| 70 72 65 73 65 6e 74 69 | 6e 67 20 74 68 65 20 6e |presenti|ng the n|
|00000560| 75 6d 62 65 72 0a 58 6f | 66 20 62 6f 6d 62 73 20 |umber.Xo|f bombs |
|00000570| 69 6d 6d 65 64 69 61 74 | 65 6c 79 20 61 64 6a 61 |immediat|ely adja|
|00000580| 63 65 6e 74 20 74 6f 20 | 69 74 2c 20 61 20 73 70 |cent to |it, a sp|
|00000590| 61 63 65 20 28 69 66 20 | 74 68 65 72 65 20 61 72 |ace (if |there ar|
|000005a0| 65 20 6e 6f 20 62 6f 6d | 62 73 0a 58 61 64 6a 61 |e no bom|bs.Xadja|
|000005b0| 63 65 6e 74 20 74 6f 20 | 69 74 29 2c 20 6f 72 20 |cent to |it), or |
|000005c0| 61 20 70 65 72 69 6f 64 | 20 28 69 66 20 79 6f 75 |a period| (if you|
|000005d0| 20 68 61 76 65 6e 27 74 | 20 62 65 65 6e 20 74 68 | haven't| been th|
|000005e0| 65 72 65 20 79 65 74 29 | 2e 20 20 59 6f 75 20 6d |ere yet)|. You m|
|000005f0| 61 79 0a 58 70 6c 61 63 | 65 20 61 20 67 75 65 73 |ay.Xplac|e a gues|
|00000600| 73 20 61 73 20 74 6f 20 | 77 68 61 74 20 61 20 67 |s as to |what a g|
|00000610| 69 76 65 6e 20 73 65 63 | 74 6f 72 20 69 73 20 62 |iven sec|tor is b|
|00000620| 79 20 70 6f 73 69 74 69 | 6f 6e 69 6e 67 20 74 68 |y positi|oning th|
|00000630| 65 20 63 75 72 73 6f 72 | 0a 58 6f 6e 20 69 74 20 |e cursor|.Xon it |
|00000640| 28 77 69 74 68 20 74 68 | 65 20 6e 75 6d 62 65 72 |(with th|e number|
|00000650| 20 6b 65 79 73 29 20 61 | 6e 64 20 70 72 65 73 73 | keys) a|nd press|
|00000660| 69 6e 67 20 74 68 65 20 | 73 70 61 63 65 20 62 61 |ing the |space ba|
|00000670| 72 3b 20 74 68 69 73 20 | 77 69 6c 6c 0a 58 74 6f |r; this |will.Xto|
|00000680| 67 67 6c 65 20 74 68 65 | 20 73 65 63 74 6f 72 27 |ggle the| sector'|
|00000690| 73 20 63 6c 61 73 73 69 | 66 69 63 61 74 69 6f 6e |s classi|fication|
|000006a0| 20 62 65 74 77 65 65 6e | 20 75 6e 6b 6e 6f 77 6e | between| unknown|
|000006b0| 20 28 2e 29 2c 20 62 6f | 6d 62 20 28 2a 29 2c 20 | (.), bo|mb (*), |
|000006c0| 61 6e 64 0a 58 6f 6b 61 | 79 20 28 6f 29 2e 20 20 |and.Xoka|y (o). |
|000006d0| 59 6f 75 20 73 74 61 72 | 74 20 69 6e 20 74 68 65 |You star|t in the|
|000006e0| 20 75 70 70 65 72 20 6c | 65 66 74 20 68 61 6e 64 | upper l|eft hand|
|000006f0| 20 63 6f 72 6e 65 72 20 | 61 6e 64 20 74 68 65 20 | corner |and the |
|00000700| 6f 62 6a 65 63 74 20 69 | 73 0a 58 74 6f 20 77 6f |object i|s.Xto wo|
|00000710| 72 6b 20 79 6f 75 72 20 | 77 61 79 20 69 6e 74 6f |rk your |way into|
|00000720| 20 74 68 65 20 6c 6f 77 | 65 72 20 72 69 67 68 74 | the low|er right|
|00000730| 20 68 61 6e 64 20 63 6f | 72 6e 65 72 2e 20 20 49 | hand co|rner. I|
|00000740| 66 20 79 6f 75 20 62 65 | 6c 69 65 76 65 20 61 0a |f you be|lieve a.|
|00000750| 58 73 65 63 74 6f 72 20 | 74 6f 20 62 65 20 73 61 |Xsector |to be sa|
|00000760| 66 65 2c 20 79 6f 75 20 | 63 61 6e 20 6d 6f 76 65 |fe, you |can move|
|00000770| 20 69 6e 74 6f 20 69 74 | 20 62 79 20 70 72 65 73 | into it| by pres|
|00000780| 73 69 6e 67 20 72 65 74 | 75 72 6e 2e 20 20 43 6f |sing ret|urn. Co|
|00000790| 6e 74 72 6f 6c 2d 6c 0a | 58 77 69 6c 6c 20 72 65 |ntrol-l.|Xwill re|
|000007a0| 64 72 61 77 20 74 68 65 | 20 73 63 72 65 65 6e 2e |draw the| screen.|
|000007b0| 20 20 49 66 20 79 6f 75 | 20 6d 6f 76 65 20 69 6e | If you| move in|
|000007c0| 74 6f 20 61 20 73 65 63 | 74 6f 72 20 77 68 69 63 |to a sec|tor whic|
|000007d0| 68 20 64 6f 65 73 20 6e | 6f 74 0a 58 62 6f 72 64 |h does n|ot.Xbord|
|000007e0| 65 72 20 6f 6e 20 61 6e | 79 20 62 6f 6d 62 73 2c |er on an|y bombs,|
|000007f0| 20 74 68 65 20 63 6f 6d | 70 75 74 65 72 20 77 69 | the com|puter wi|
|00000800| 6c 6c 20 61 75 74 6f 6d | 61 74 69 63 61 6c 6c 79 |ll autom|atically|
|00000810| 20 6d 6f 76 65 20 69 6e | 74 6f 20 65 61 63 68 0a | move in|to each.|
|00000820| 58 73 65 63 74 6f 72 20 | 61 72 6f 75 6e 64 20 69 |Xsector |around i|
|00000830| 74 2e 20 20 59 6f 75 20 | 6d 61 79 20 6f 6e 6c 79 |t. You |may only|
|00000840| 20 6d 6f 76 65 20 69 6e | 74 6f 20 73 65 63 74 6f | move in|to secto|
|00000850| 72 73 20 61 64 6a 61 63 | 65 6e 74 20 74 6f 20 73 |rs adjac|ent to s|
|00000860| 65 63 74 6f 72 73 0a 58 | 79 6f 75 20 68 61 76 65 |ectors.X|you have|
|00000870| 20 61 6c 72 65 61 64 79 | 20 76 69 73 69 74 65 64 | already| visited|
|00000880| 2e 20 20 54 68 65 72 65 | 20 61 72 65 20 6e 65 76 |. There| are nev|
|00000890| 65 72 20 61 6e 79 20 62 | 6f 6d 62 73 20 62 6f 72 |er any b|ombs bor|
|000008a0| 64 65 72 69 6e 67 20 6f | 6e 20 79 6f 75 72 0a 58 |dering o|n your.X|
|000008b0| 73 74 61 72 74 69 6e 67 | 20 73 71 75 61 72 65 2e |starting| square.|
|000008c0| 0a 58 0a 58 42 6f 6d 62 | 20 63 6f 6d 70 69 6c 65 |.X.XBomb| compile|
|000008d0| 73 20 61 6e 64 20 72 75 | 6e 73 20 73 75 63 63 65 |s and ru|ns succe|
|000008e0| 73 73 66 75 6c 6c 79 20 | 66 6f 72 20 74 68 65 20 |ssfully |for the |
|000008f0| 66 6f 6c 6c 6f 77 69 6e | 67 20 6f 70 65 72 61 74 |followin|g operat|
|00000900| 69 6e 67 20 73 79 73 74 | 65 6d 73 3a 0a 58 0a 58 |ing syst|ems:.X.X|
|00000910| 53 75 6e 4f 53 20 34 2e | 31 2c 20 55 6c 74 72 69 |SunOS 4.|1, Ultri|
|00000920| 78 20 34 2e 31 2c 20 61 | 6e 64 20 56 41 58 2f 56 |x 4.1, a|nd VAX/V|
|00000930| 4d 53 2e 0a 58 0a 58 49 | 66 20 79 6f 75 20 63 6f |MS..X.XI|f you co|
|00000940| 6d 70 69 6c 65 20 62 6f | 6d 62 20 73 75 63 63 65 |mpile bo|mb succe|
|00000950| 73 73 66 75 6c 6c 79 20 | 6f 6e 20 61 6e 6f 74 68 |ssfully |on anoth|
|00000960| 65 72 20 6d 61 63 68 69 | 6e 65 2c 20 70 6c 65 61 |er machi|ne, plea|
|00000970| 73 65 20 61 64 64 20 69 | 74 20 74 6f 0a 58 74 68 |se add i|t to.Xth|
|00000980| 65 20 6c 69 73 74 2e 0a | 45 4e 44 5f 4f 46 5f 46 |e list..|END_OF_F|
|00000990| 49 4c 45 0a 69 66 20 74 | 65 73 74 20 31 32 34 39 |ILE.if t|est 1249|
|000009a0| 20 2d 6e 65 20 60 77 63 | 20 2d 63 20 3c 27 52 65 | -ne `wc| -c <'Re|
|000009b0| 61 64 6d 65 2e 62 6f 6d | 62 27 60 3b 20 74 68 65 |adme.bom|b'`; the|
|000009c0| 6e 0a 20 20 20 20 65 63 | 68 6f 20 73 68 61 72 3a |n. ec|ho shar:|
|000009d0| 20 5c 22 27 52 65 61 64 | 6d 65 2e 62 6f 6d 62 27 | \"'Read|me.bomb'|
|000009e0| 5c 22 20 75 6e 70 61 63 | 6b 65 64 20 77 69 74 68 |\" unpac|ked with|
|000009f0| 20 77 72 6f 6e 67 20 73 | 69 7a 65 21 0a 66 69 0a | wrong s|ize!.fi.|
|00000a00| 23 20 65 6e 64 20 6f 66 | 20 27 52 65 61 64 6d 65 |# end of| 'Readme|
|00000a10| 2e 62 6f 6d 62 27 0a 66 | 69 0a 69 66 20 74 65 73 |.bomb'.f|i.if tes|
|00000a20| 74 20 2d 66 20 27 62 6f | 6d 62 2e 63 27 20 2d 61 |t -f 'bo|mb.c' -a|
|00000a30| 20 22 24 7b 31 7d 22 20 | 21 3d 20 22 2d 63 22 20 | "${1}" |!= "-c" |
|00000a40| 3b 20 74 68 65 6e 20 0a | 20 20 65 63 68 6f 20 73 |; then .| echo s|
|00000a50| 68 61 72 3a 20 57 69 6c | 6c 20 6e 6f 74 20 63 6c |har: Wil|l not cl|
|00000a60| 6f 62 62 65 72 20 65 78 | 69 73 74 69 6e 67 20 66 |obber ex|isting f|
|00000a70| 69 6c 65 20 5c 22 27 62 | 6f 6d 62 2e 63 27 5c 22 |ile \"'b|omb.c'\"|
|00000a80| 0a 65 6c 73 65 0a 65 63 | 68 6f 20 73 68 61 72 3a |.else.ec|ho shar:|
|00000a90| 20 45 78 74 72 61 63 74 | 69 6e 67 20 5c 22 27 62 | Extract|ing \"'b|
|00000aa0| 6f 6d 62 2e 63 27 5c 22 | 20 5c 28 34 35 37 35 20 |omb.c'\"| \(4575 |
|00000ab0| 63 68 61 72 61 63 74 65 | 72 73 5c 29 0a 73 65 64 |characte|rs\).sed|
|00000ac0| 20 22 73 2f 5e 58 2f 2f | 22 20 3e 27 62 6f 6d 62 | "s/^X//|" >'bomb|
|00000ad0| 2e 63 27 20 3c 3c 27 45 | 4e 44 5f 4f 46 5f 46 49 |.c' <<'E|ND_OF_FI|
|00000ae0| 4c 45 27 0a 58 2f 2a 20 | 62 6f 6d 62 2e 63 2c 20 |LE'.X/* |bomb.c, |
|00000af0| 62 79 20 45 72 69 63 20 | 4f 6c 73 6f 6e 2e 20 2a |by Eric |Olson. *|
|00000b00| 2f 0a 58 2f 2a 20 20 20 | 20 76 65 72 73 69 6f 6e |/.X/* | version|
|00000b10| 20 31 2e 30 20 2a 2f 0a | 58 2f 2a 20 54 68 69 73 | 1.0 */.|X/* This|
|00000b20| 20 70 72 6f 67 72 61 6d | 20 69 73 20 63 6f 70 79 | program| is copy|
|00000b30| 72 69 67 68 74 20 31 39 | 39 31 20 62 79 20 45 72 |right 19|91 by Er|
|00000b40| 69 63 20 4f 6c 73 6f 6e | 2e 20 20 59 6f 75 20 61 |ic Olson|. You a|
|00000b50| 72 65 20 77 65 6c 63 6f | 6d 65 20 74 6f 0a 58 20 |re welco|me to.X |
|00000b60| 20 20 64 69 73 74 72 69 | 62 75 74 65 20 69 74 2c | distri|bute it,|
|00000b70| 20 62 75 74 20 74 68 69 | 73 20 6e 6f 74 69 63 65 | but thi|s notice|
|00000b80| 20 73 68 6f 75 6c 64 20 | 72 65 6d 61 69 6e 20 69 | should |remain i|
|00000b90| 6e 74 61 63 74 20 61 6e | 64 20 79 6f 75 20 73 68 |ntact an|d you sh|
|00000ba0| 6f 75 6c 64 0a 58 20 20 | 20 69 6e 63 6c 75 64 65 |ould.X | include|
|00000bb0| 20 61 6c 6c 20 74 68 65 | 20 66 69 6c 65 73 20 74 | all the| files t|
|00000bc0| 68 61 74 20 77 65 72 65 | 20 64 69 73 74 72 69 62 |hat were| distrib|
|00000bd0| 75 74 65 64 20 77 69 74 | 68 20 69 74 2e 20 20 54 |uted wit|h it. T|
|00000be0| 68 69 73 20 70 72 6f 67 | 72 61 6d 20 69 73 0a 58 |his prog|ram is.X|
|00000bf0| 20 20 20 6e 6f 74 20 74 | 6f 20 62 65 20 73 6f 6c | not t|o be sol|
|00000c00| 64 2c 20 61 6c 74 68 6f | 75 67 68 20 61 20 66 65 |d, altho|ugh a fe|
|00000c10| 65 20 6d 61 79 20 62 65 | 20 63 68 61 72 67 65 64 |e may be| charged|
|00000c20| 20 74 6f 20 63 6f 76 65 | 72 20 64 69 73 74 72 69 | to cove|r distri|
|00000c30| 62 75 74 69 6f 6e 0a 58 | 20 20 20 65 78 70 65 6e |bution.X| expen|
|00000c40| 73 65 73 20 28 69 66 20 | 74 68 65 72 65 20 61 72 |ses (if |there ar|
|00000c50| 65 20 61 6e 79 29 2e 20 | 20 49 66 20 79 6f 75 20 |e any). | If you |
|00000c60| 77 69 73 68 20 74 6f 20 | 6d 6f 64 69 66 79 20 74 |wish to |modify t|
|00000c70| 68 65 20 63 6f 64 65 20 | 61 6e 64 0a 58 20 20 20 |he code |and.X |
|00000c80| 64 69 73 74 72 69 62 75 | 74 65 20 69 74 2c 20 70 |distribu|te it, p|
|00000c90| 6c 65 61 73 65 20 66 65 | 65 6c 20 66 72 65 65 20 |lease fe|el free |
|00000ca0| 74 6f 20 64 6f 20 73 6f | 2c 20 62 75 74 20 6c 61 |to do so|, but la|
|00000cb0| 62 65 6c 20 74 68 65 20 | 63 6f 64 65 20 61 73 0a |bel the |code as.|
|00000cc0| 58 20 20 20 6d 6f 64 69 | 66 69 65 64 20 68 65 72 |X modi|fied her|
|00000cd0| 65 20 61 6e 64 20 63 68 | 61 6e 67 65 20 74 68 65 |e and ch|ange the|
|00000ce0| 20 76 65 72 73 69 6f 6e | 20 61 63 63 6f 72 64 69 | version| accordi|
|00000cf0| 6e 67 6c 79 2e 20 2a 2f | 0a 58 0a 58 23 69 6e 63 |ngly. */|.X.X#inc|
|00000d00| 6c 75 64 65 20 3c 73 74 | 64 69 6f 2e 68 3e 0a 58 |lude <st|dio.h>.X|
|00000d10| 23 69 6e 63 6c 75 64 65 | 20 3c 63 75 72 73 65 73 |#include| <curses|
|00000d20| 2e 68 3e 0a 58 0a 58 23 | 69 66 64 65 66 20 56 4d |.h>.X.X#|ifdef VM|
|00000d30| 53 0a 58 75 6e 73 69 67 | 6e 65 64 20 63 68 61 72 |S.Xunsig|ned char|
|00000d40| 20 5f 67 65 74 63 68 28 | 29 20 2f 2a 20 6b 65 6e | _getch(|) /* ken|
|00000d50| 74 20 64 20 72 61 6d 69 | 65 72 20 32 30 20 66 65 |t d rami|er 20 fe|
|00000d60| 62 20 38 38 20 2a 2f 20 | 2f 2a 20 65 6f 20 72 75 |b 88 */ |/* eo ru|
|00000d70| 69 6e 65 64 20 73 70 61 | 63 69 6e 67 20 2a 2f 0a |ined spa|cing */.|
|00000d80| 58 20 7b 20 73 74 72 75 | 63 74 20 7b 20 75 6e 73 |X { stru|ct { uns|
|00000d90| 69 67 6e 65 64 20 73 68 | 6f 72 74 20 6c 65 6e 67 |igned sh|ort leng|
|00000da0| 74 68 3b 20 75 6e 73 69 | 67 6e 65 64 20 63 68 61 |th; unsi|gned cha|
|00000db0| 72 20 64 74 79 70 65 3b | 20 75 6e 73 69 67 6e 65 |r dtype;| unsigne|
|00000dc0| 64 20 63 68 61 72 0a 58 | 20 63 6c 61 73 73 3b 20 |d char.X| class; |
|00000dd0| 63 68 61 72 20 2a 70 6f | 69 6e 74 65 72 3b 20 7d |char *po|inter; }|
|00000de0| 20 64 65 76 69 63 65 20 | 3d 20 7b 20 39 2c 20 31 | device |= { 9, 1|
|00000df0| 34 2c 20 31 2c 20 22 53 | 59 53 24 49 4e 50 55 54 |4, 1, "S|YS$INPUT|
|00000e00| 22 7d 3b 20 73 74 61 74 | 69 63 0a 58 20 75 6e 73 |"}; stat|ic.X uns|
|00000e10| 69 67 6e 65 64 20 73 68 | 6f 72 74 20 61 5f 63 68 |igned sh|ort a_ch|
|00000e20| 61 6e 6e 65 6c 20 3d 20 | 30 3b 20 75 6e 73 69 67 |annel = |0; unsig|
|00000e30| 6e 65 64 20 63 68 61 72 | 20 74 68 65 5f 6b 65 79 |ned char| the_key|
|00000e40| 3b 20 69 66 20 28 21 28 | 61 5f 63 68 61 6e 6e 65 |; if (!(|a_channe|
|00000e50| 6c 29 29 0a 58 20 53 59 | 53 24 41 53 53 49 47 4e |l)).X SY|S$ASSIGN|
|00000e60| 28 26 64 65 76 69 63 65 | 2c 26 61 5f 63 68 61 6e |(&device|,&a_chan|
|00000e70| 6e 65 6c 2c 30 2c 30 29 | 3b 20 53 59 53 24 51 49 |nel,0,0)|; SYS$QI|
|00000e80| 4f 57 0a 58 20 28 30 2c | 61 5f 63 68 61 6e 6e 65 |OW.X (0,|a_channe|
|00000e90| 6c 2c 36 32 35 2c 30 2c | 30 2c 30 2c 26 74 68 65 |l,625,0,|0,0,&the|
|00000ea0| 5f 6b 65 79 2c 31 2c 31 | 2c 30 2c 30 2c 30 29 3b |_key,1,1|,0,0,0);|
|00000eb0| 20 72 65 74 75 72 6e 28 | 74 68 65 5f 6b 65 79 29 | return(|the_key)|
|00000ec0| 3b 20 7d 0a 58 23 20 64 | 65 66 69 6e 65 20 47 45 |; }.X# d|efine GE|
|00000ed0| 54 43 48 20 28 5f 67 65 | 74 63 68 28 29 29 0a 58 |TCH (_ge|tch()).X|
|00000ee0| 23 65 6c 73 65 0a 58 20 | 20 2f 2a 20 69 66 20 79 |#else.X | /* if y|
|00000ef0| 6f 75 27 72 65 20 6e 6f | 74 20 6f 6e 20 56 41 58 |ou're no|t on VAX|
|00000f00| 2f 56 4d 53 2c 20 79 6f | 75 20 6d 61 79 20 6e 65 |/VMS, yo|u may ne|
|00000f10| 65 64 20 74 6f 20 72 65 | 66 69 74 20 74 68 69 73 |ed to re|fit this|
|00000f20| 2e 20 2a 2f 0a 58 20 20 | 2f 2a 20 69 74 20 64 6f |. */.X |/* it do|
|00000f30| 65 73 20 6f 63 63 61 73 | 69 6f 6e 61 6c 6c 79 20 |es occas|ionally |
|00000f40| 6c 65 61 76 65 20 6e 75 | 6d 62 65 72 73 20 6f 6e |leave nu|mbers on|
|00000f50| 20 6d 79 20 73 63 72 65 | 65 6e 2e 20 2a 2f 0a 58 | my scre|en. */.X|
|00000f60| 23 20 64 65 66 69 6e 65 | 20 47 45 54 43 48 20 28 |# define| GETCH (|
|00000f70| 67 65 74 63 68 28 29 29 | 0a 58 23 65 6e 64 69 66 |getch())|.X#endif|
|00000f80| 20 56 4d 53 0a 58 0a 58 | 23 64 65 66 69 6e 65 20 | VMS.X.X|#define |
|00000f90| 4d 41 58 20 31 36 20 2f | 2a 20 62 6f 61 72 64 73 |MAX 16 /|* boards|
|00000fa0| 69 7a 65 20 2a 2f 0a 58 | 0a 58 2f 2a 20 74 68 69 |ize */.X|.X/* thi|
|00000fb0| 73 20 69 73 20 61 20 74 | 65 72 72 69 62 6c 65 20 |s is a t|errible |
|00000fc0| 72 61 6e 64 6f 6d 20 67 | 65 6e 65 72 61 74 6f 72 |random g|enerator|
|00000fd0| 2e 20 20 4d 61 6b 65 20 | 61 20 62 65 74 74 65 72 |. Make |a better|
|00000fe0| 20 6f 6e 65 2e 20 2a 2f | 0a 58 23 69 6e 63 6c 75 | one. */|.X#inclu|
|00000ff0| 64 65 20 3c 6d 61 74 68 | 2e 68 3e 0a 58 23 69 6e |de <math|.h>.X#in|
|00001000| 63 6c 75 64 65 20 3c 74 | 69 6d 65 2e 68 3e 0a 58 |clude <t|ime.h>.X|
|00001010| 23 64 65 66 69 6e 65 20 | 52 41 4e 44 4f 4d 20 28 |#define |RANDOM (|
|00001020| 28 69 6e 74 29 28 28 66 | 6c 6f 61 74 29 72 61 6e |(int)((f|loat)ran|
|00001030| 64 28 29 2f 28 28 66 6c | 6f 61 74 29 28 28 75 6e |d()/((fl|oat)((un|
|00001040| 73 69 67 6e 65 64 29 28 | 2d 31 29 29 29 2a 32 2e |signed)(|-1)))*2.|
|00001050| 30 2a 28 66 6c 6f 61 74 | 29 28 4d 41 58 29 29 29 |0*(float|)(MAX)))|
|00001060| 0a 58 23 64 65 66 69 6e | 65 20 52 41 4e 44 4f 4d |.X#defin|e RANDOM|
|00001070| 5f 53 45 45 44 20 73 72 | 61 6e 64 28 74 69 6d 65 |_SEED sr|and(time|
|00001080| 28 28 74 69 6d 65 5f 74 | 20 2a 29 30 29 29 0a 58 |((time_t| *)0)).X|
|00001090| 0a 58 73 68 6f 72 74 20 | 74 68 69 6e 6b 5b 4d 41 |.Xshort |think[MA|
|000010a0| 58 5d 5b 4d 41 58 5d 2c | 67 72 69 64 5b 4d 41 58 |X][MAX],|grid[MAX|
|000010b0| 5d 5b 4d 41 58 5d 2c 62 | 6f 6f 6d 3b 0a 58 69 6e |][MAX],b|oom;.Xin|
|000010c0| 74 20 78 78 3d 30 2c 79 | 79 3d 30 3b 0a 58 0a 58 |t xx=0,y|y=0;.X.X|
|000010d0| 23 64 65 66 69 6e 65 20 | 4e 4f 54 59 45 54 20 39 |#define |NOTYET 9|
|000010e0| 0a 58 23 64 65 66 69 6e | 65 20 42 4f 4d 42 20 31 |.X#defin|e BOMB 1|
|000010f0| 30 0a 58 23 64 65 66 69 | 6e 65 20 4f 4b 41 59 20 |0.X#defi|ne OKAY |
|00001100| 31 31 0a 58 73 74 61 74 | 69 63 20 63 68 61 72 20 |11.Xstat|ic char |
|00001110| 69 63 6f 6e 5b 5d 3d 22 | 20 31 32 33 34 35 36 37 |icon[]="| 1234567|
|00001120| 38 2e 2a 6f 22 3b 0a 58 | 0a 58 64 72 61 77 73 63 |8.*o";.X|.Xdrawsc|
|00001130| 72 28 29 0a 58 7b 0a 58 | 69 6e 74 20 69 2c 6a 3b |r().X{.X|int i,j;|
|00001140| 0a 58 0a 58 66 6f 72 20 | 28 69 3d 30 3b 69 3c 4d |.X.Xfor |(i=0;i<M|
|00001150| 41 58 3b 69 2b 2b 29 0a | 58 20 20 66 6f 72 20 28 |AX;i++).|X for (|
|00001160| 6a 3d 30 3b 6a 3c 4d 41 | 58 3b 6a 2b 2b 29 0a 58 |j=0;j<MA|X;j++).X|
|00001170| 20 20 20 20 7b 0a 58 20 | 20 20 20 20 20 6d 6f 76 | {.X | mov|
|00001180| 65 28 6a 2c 69 2a 32 29 | 3b 0a 58 2f 2a 20 20 20 |e(j,i*2)|;.X/* |
|00001190| 20 20 20 20 70 72 69 6e | 74 77 28 22 28 25 63 29 | prin|tw("(%c)|
|000011a0| 22 2c 69 63 6f 6e 5b 74 | 68 69 6e 6b 5b 69 5d 5b |",icon[t|hink[i][|
|000011b0| 6a 5d 5d 29 3b 20 2a 2f | 0a 58 20 20 20 20 20 20 |j]]); */|.X |
|000011c0| 70 72 69 6e 74 77 28 22 | 20 25 63 22 2c 69 63 6f |printw("| %c",ico|
|000011d0| 6e 5b 74 68 69 6e 6b 5b | 69 5d 5b 6a 5d 5d 29 3b |n[think[|i][j]]);|
|000011e0| 0a 58 20 20 20 20 7d 0a | 58 2f 2a 20 6d 76 61 64 |.X }.|X/* mvad|
|000011f0| 64 63 68 28 79 79 2c 78 | 78 2a 32 2b 31 2c 27 23 |dch(yy,x|x*2+1,'#|
|00001200| 27 29 3b 20 0a 58 6d 76 | 61 64 64 63 68 28 79 79 |'); .Xmv|addch(yy|
|00001210| 2c 78 78 2a 32 2c 27 5b | 27 29 3b 20 6d 76 61 64 |,xx*2,'[|'); mvad|
|00001220| 64 63 68 28 79 79 2c 78 | 78 2a 32 2b 32 2c 27 5d |dch(yy,x|x*2+2,']|
|00001230| 27 29 3b 0a 58 6d 76 61 | 64 64 63 68 28 79 79 2c |');.Xmva|ddch(yy,|
|00001240| 78 78 2a 32 2c 27 3e 27 | 29 3b 20 2a 2f 0a 58 7d |xx*2,'>'|); */.X}|
|00001250| 0a 58 0a 58 73 68 6f 72 | 74 20 69 6e 76 61 6c 69 |.X.Xshor|t invali|
|00001260| 64 28 69 2c 6a 29 0a 58 | 69 6e 74 20 69 2c 6a 3b |d(i,j).X|int i,j;|
|00001270| 0a 58 7b 0a 58 20 20 69 | 66 20 28 28 69 3d 3d 6a |.X{.X i|f ((i==j|
|00001280| 29 20 26 26 20 28 28 69 | 3d 3d 30 29 20 7c 7c 20 |) && ((i|==0) || |
|00001290| 28 69 3d 3d 4d 41 58 2d | 31 29 29 29 20 72 65 74 |(i==MAX-|1))) ret|
|000012a0| 75 72 6e 20 28 31 29 3b | 0a 58 20 20 69 66 20 28 |urn (1);|.X if (|
|000012b0| 28 69 3c 32 29 20 26 26 | 20 28 6a 3c 32 29 29 20 |(i<2) &&| (j<2)) |
|000012c0| 72 65 74 75 72 6e 20 28 | 31 29 3b 0a 58 20 20 69 |return (|1);.X i|
|000012d0| 66 20 28 28 69 3d 3d 4d | 41 58 29 20 7c 7c 20 28 |f ((i==M|AX) || (|
|000012e0| 6a 3d 3d 4d 41 58 29 29 | 20 72 65 74 75 72 6e 20 |j==MAX))| return |
|000012f0| 28 31 29 3b 0a 58 20 20 | 69 66 20 28 67 72 69 64 |(1);.X |if (grid|
|00001300| 5b 69 5d 5b 6a 5d 29 20 | 72 65 74 75 72 6e 20 28 |[i][j]) |return (|
|00001310| 31 29 3b 0a 58 20 20 72 | 65 74 75 72 6e 20 28 30 |1);.X r|eturn (0|
|00001320| 29 3b 0a 58 7d 0a 58 0a | 58 61 6e 61 6c 79 7a 65 |);.X}.X.|Xanalyze|
|00001330| 28 78 2c 79 29 0a 58 69 | 6e 74 20 78 2c 79 3b 0a |(x,y).Xi|nt x,y;.|
|00001340| 58 7b 0a 58 69 6e 74 20 | 69 2c 6a 2c 74 3d 30 3b |X{.Xint |i,j,t=0;|
|00001350| 0a 58 0a 58 66 6f 72 20 | 28 69 3d 20 2d 31 3b 69 |.X.Xfor |(i= -1;i|
|00001360| 3c 32 3b 69 2b 2b 29 0a | 58 20 20 66 6f 72 20 28 |<2;i++).|X for (|
|00001370| 6a 3d 20 2d 31 3b 6a 3c | 32 3b 6a 2b 2b 29 0a 58 |j= -1;j<|2;j++).X|
|00001380| 20 20 20 20 69 66 20 28 | 28 69 2b 78 3e 3d 30 29 | if (|(i+x>=0)|
|00001390| 20 26 26 20 28 6a 2b 79 | 3e 3d 30 29 20 26 26 20 | && (j+y|>=0) && |
|000013a0| 28 69 2b 78 3c 4d 41 58 | 29 20 26 26 20 28 6a 2b |(i+x<MAX|) && (j+|
|000013b0| 79 3c 4d 41 58 29 29 0a | 58 20 20 20 20 20 20 69 |y<MAX)).|X i|
|000013c0| 66 20 28 67 72 69 64 5b | 69 2b 78 5d 5b 6a 2b 79 |f (grid[|i+x][j+y|
|000013d0| 5d 29 20 74 2b 2b 3b 0a | 58 74 68 69 6e 6b 5b 78 |]) t++;.|Xthink[x|
|000013e0| 5d 5b 79 5d 3d 74 3b 0a | 58 69 66 20 28 21 74 29 |][y]=t;.|Xif (!t)|
|000013f0| 0a 58 20 20 66 6f 72 20 | 28 69 3d 20 2d 31 3b 69 |.X for |(i= -1;i|
|00001400| 3c 32 3b 69 2b 2b 29 0a | 58 20 20 20 20 66 6f 72 |<2;i++).|X for|
|00001410| 20 28 6a 3d 20 2d 31 3b | 6a 3c 32 3b 6a 2b 2b 29 | (j= -1;|j<2;j++)|
|00001420| 0a 58 20 20 20 20 20 20 | 69 66 20 28 28 69 2b 78 |.X |if ((i+x|
|00001430| 3e 3d 30 29 20 26 26 20 | 28 6a 2b 79 3e 3d 30 29 |>=0) && |(j+y>=0)|
|00001440| 20 26 26 20 28 69 2b 78 | 3c 4d 41 58 29 20 26 26 | && (i+x|<MAX) &&|
|00001450| 20 28 6a 2b 79 3c 4d 41 | 58 29 29 0a 58 20 20 20 | (j+y<MA|X)).X |
|00001460| 20 20 20 20 20 69 66 20 | 28 74 68 69 6e 6b 5b 69 | if |(think[i|
|00001470| 2b 78 5d 5b 6a 2b 79 5d | 3d 3d 4e 4f 54 59 45 54 |+x][j+y]|==NOTYET|
|00001480| 29 20 61 6e 61 6c 79 7a | 65 28 69 2b 78 2c 6a 2b |) analyz|e(i+x,j+|
|00001490| 79 29 3b 0a 58 7d 0a 58 | 0a 58 74 6f 67 67 6c 65 |y);.X}.X|.Xtoggle|
|000014a0| 28 78 2c 79 29 0a 58 69 | 6e 74 20 78 2c 79 3b 0a |(x,y).Xi|nt x,y;.|
|000014b0| 58 7b 0a 58 73 77 69 74 | 63 68 20 28 74 68 69 6e |X{.Xswit|ch (thin|
|000014c0| 6b 5b 78 5d 5b 79 5d 29 | 0a 58 20 20 7b 0a 58 20 |k[x][y])|.X {.X |
|000014d0| 20 20 20 63 61 73 65 20 | 4e 4f 54 59 45 54 3a 20 | case |NOTYET: |
|000014e0| 74 68 69 6e 6b 5b 78 5d | 5b 79 5d 3d 42 4f 4d 42 |think[x]|[y]=BOMB|
|000014f0| 3b 20 62 72 65 61 6b 3b | 0a 58 20 20 20 20 63 61 |; break;|.X ca|
|00001500| 73 65 20 42 4f 4d 42 3a | 20 74 68 69 6e 6b 5b 78 |se BOMB:| think[x|
|00001510| 5d 5b 79 5d 3d 4f 4b 41 | 59 3b 20 62 72 65 61 6b |][y]=OKA|Y; break|
|00001520| 3b 0a 58 20 20 20 20 63 | 61 73 65 20 4f 4b 41 59 |;.X c|ase OKAY|
|00001530| 3a 20 74 68 69 6e 6b 5b | 78 5d 5b 79 5d 3d 4e 4f |: think[|x][y]=NO|
|00001540| 54 59 45 54 3b 20 62 72 | 65 61 6b 3b 0a 58 20 20 |TYET; br|eak;.X |
|00001550| 7d 0a 58 7d 0a 58 0a 58 | 6d 6f 76 65 74 6f 28 78 |}.X}.X.X|moveto(x|
|00001560| 2c 79 29 0a 58 7b 0a 58 | 69 6e 74 20 69 2c 6a 2c |,y).X{.X|int i,j,|
|00001570| 71 3d 30 3b 0a 58 0a 58 | 66 6f 72 20 28 69 3d 20 |q=0;.X.X|for (i= |
|00001580| 2d 31 3b 69 3c 32 3b 69 | 2b 2b 29 0a 58 20 20 66 |-1;i<2;i|++).X f|
|00001590| 6f 72 20 28 6a 3d 20 2d | 31 3b 6a 3c 32 3b 6a 2b |or (j= -|1;j<2;j+|
|000015a0| 2b 29 0a 58 20 20 20 20 | 69 66 20 28 28 69 2b 78 |+).X |if ((i+x|
|000015b0| 3e 3d 30 29 20 26 26 20 | 28 69 2b 78 3c 4d 41 58 |>=0) && |(i+x<MAX|
|000015c0| 29 20 26 26 20 28 6a 2b | 79 3c 4d 41 58 29 20 26 |) && (j+|y<MAX) &|
|000015d0| 26 20 28 6a 2b 79 3e 3d | 30 29 29 0a 58 20 20 20 |& (j+y>=|0)).X |
|000015e0| 20 20 20 69 66 20 28 74 | 68 69 6e 6b 5b 69 2b 78 | if (t|hink[i+x|
|000015f0| 5d 5b 6a 2b 79 5d 3c 4e | 4f 54 59 45 54 29 20 71 |][j+y]<N|OTYET) q|
|00001600| 3d 31 3b 0a 58 69 66 20 | 28 21 71 29 20 72 65 74 |=1;.Xif |(!q) ret|
|00001610| 75 72 6e 28 30 29 3b 0a | 58 0a 58 78 78 3d 78 3b |urn(0);.|X.Xxx=x;|
|00001620| 20 79 79 3d 79 3b 20 61 | 6e 61 6c 79 7a 65 28 78 | yy=y; a|nalyze(x|
|00001630| 2c 79 29 3b 0a 58 0a 58 | 69 66 20 28 67 72 69 64 |,y);.X.X|if (grid|
|00001640| 5b 78 5d 5b 79 5d 29 20 | 62 6f 6f 6d 3d 32 3b 0a |[x][y]) |boom=2;.|
|00001650| 58 69 66 20 28 28 79 3d | 3d 4d 41 58 2d 31 29 20 |Xif ((y=|=MAX-1) |
|00001660| 26 26 20 28 78 3d 3d 4d | 41 58 2d 31 29 29 20 62 |&& (x==M|AX-1)) b|
|00001670| 6f 6f 6d 3d 31 3b 0a 58 | 7d 0a 58 0a 58 6d 61 69 |oom=1;.X|}.X.Xmai|
|00001680| 6e 28 61 72 67 63 2c 61 | 72 67 76 29 0a 58 69 6e |n(argc,a|rgv).Xin|
|00001690| 74 20 61 72 67 63 3b 20 | 63 68 61 72 20 2a 2a 61 |t argc; |char **a|
|000016a0| 72 67 76 3b 0a 58 7b 0a | 58 69 6e 74 20 69 2c 6a |rgv;.X{.|Xint i,j|
|000016b0| 2c 6b 2c 6e 62 3d 33 30 | 3b 0a 58 63 68 61 72 20 |,k,nb=30|;.Xchar |
|000016c0| 63 3b 0a 58 0a 58 69 66 | 20 28 61 72 67 63 3e 31 |c;.X.Xif| (argc>1|
|000016d0| 29 0a 58 20 20 7b 0a 58 | 20 20 20 20 73 73 63 61 |).X {.X| ssca|
|000016e0| 6e 66 28 61 72 67 76 5b | 31 5d 2c 22 25 64 22 2c |nf(argv[|1],"%d",|
|000016f0| 26 6e 62 29 3b 0a 58 20 | 20 20 20 69 66 20 28 28 |&nb);.X | if ((|
|00001700| 6e 62 3c 31 29 20 7c 7c | 20 28 6e 62 3e 28 4d 41 |nb<1) ||| (nb>(MA|
|00001710| 58 2a 28 4d 41 58 2d 32 | 29 29 29 29 0a 58 20 20 |X*(MAX-2|)))).X |
|00001720| 20 20 20 20 7b 0a 58 20 | 20 20 20 20 20 20 20 70 | {.X | p|
|00001730| 72 69 6e 74 66 20 28 22 | 49 6e 76 61 6c 69 64 20 |rintf ("|Invalid |
|00001740| 6e 75 6d 62 65 72 20 6f | 66 20 62 6f 6d 62 73 2e |number o|f bombs.|
|00001750| 22 29 3b 20 65 78 69 74 | 28 30 29 3b 0a 58 20 20 |"); exit|(0);.X |
|00001760| 20 20 20 20 7d 0a 58 20 | 20 7d 0a 58 0a 58 69 6e | }.X | }.X.Xin|
|00001770| 69 74 73 63 72 28 29 3b | 0a 58 52 41 4e 44 4f 4d |itscr();|.XRANDOM|
|00001780| 5f 53 45 45 44 3b 0a 58 | 0a 58 66 6f 72 20 28 69 |_SEED;.X|.Xfor (i|
|00001790| 3d 30 3b 69 3c 4d 41 58 | 3b 69 2b 2b 29 0a 58 20 |=0;i<MAX|;i++).X |
|000017a0| 20 66 6f 72 20 28 6a 3d | 30 3b 6a 3c 4d 41 58 3b | for (j=|0;j<MAX;|
|000017b0| 6a 2b 2b 29 0a 58 20 20 | 20 20 74 68 69 6e 6b 5b |j++).X | think[|
|000017c0| 69 5d 5b 6a 5d 3d 4e 4f | 54 59 45 54 2c 67 72 69 |i][j]=NO|TYET,gri|
|000017d0| 64 5b 69 5d 5b 6a 5d 3d | 30 3b 0a 58 66 6f 72 20 |d[i][j]=|0;.Xfor |
|000017e0| 28 6b 3d 30 3b 6b 3c 6e | 62 3b 6b 2b 2b 29 0a 58 |(k=0;k<n|b;k++).X|
|000017f0| 20 20 7b 0a 58 20 20 20 | 20 66 6f 72 20 28 69 3d | {.X | for (i=|
|00001800| 6a 3d 30 3b 69 6e 76 61 | 6c 69 64 28 69 2c 6a 29 |j=0;inva|lid(i,j)|
|00001810| 3b 29 0a 58 20 20 20 20 | 20 20 69 3d 52 41 4e 44 |;).X | i=RAND|
|00001820| 4f 4d 2c 6a 3d 52 41 4e | 44 4f 4d 3b 0a 58 20 20 |OM,j=RAN|DOM;.X |
|00001830| 20 20 67 72 69 64 5b 69 | 5d 5b 6a 5d 3d 31 3b 0a | grid[i|][j]=1;.|
|00001840| 58 20 20 7d 0a 58 0a 58 | 61 6e 61 6c 79 7a 65 28 |X }.X.X|analyze(|
|00001850| 30 2c 30 29 3b 0a 58 70 | 72 69 6e 74 66 28 22 25 |0,0);.Xp|rintf("%|
|00001860| 63 3e 22 2c 32 37 29 3b | 0a 58 0a 58 66 6f 72 20 |c>",27);|.X.Xfor |
|00001870| 28 69 3d 6a 3d 62 6f 6f | 6d 3d 30 3b 21 62 6f 6f |(i=j=boo|m=0;!boo|
|00001880| 6d 3b 29 0a 58 20 20 7b | 0a 58 20 20 20 20 64 72 |m;).X {|.X dr|
|00001890| 61 77 73 63 72 28 29 3b | 0a 58 20 20 20 20 6d 6f |awscr();|.X mo|
|000018a0| 76 65 28 6a 2c 69 2a 32 | 2b 31 29 3b 20 72 65 66 |ve(j,i*2|+1); ref|
|000018b0| 72 65 73 68 28 29 3b 0a | 58 20 20 20 20 63 3d 47 |resh();.|X c=G|
|000018c0| 45 54 43 48 3b 0a 58 20 | 20 20 20 73 77 69 74 63 |ETCH;.X | switc|
|000018d0| 68 20 28 63 29 0a 58 20 | 20 20 20 20 20 7b 0a 58 |h (c).X | {.X|
|000018e0| 20 20 20 20 20 20 20 20 | 63 61 73 65 20 27 31 27 | |case '1'|
|000018f0| 3a 20 69 2d 2d 3b 0a 58 | 20 20 20 20 20 20 20 20 |: i--;.X| |
|00001900| 63 61 73 65 20 27 32 27 | 3a 20 6a 2b 2b 3b 20 62 |case '2'|: j++; b|
|00001910| 72 65 61 6b 3b 0a 58 20 | 20 20 20 20 20 20 20 63 |reak;.X | c|
|00001920| 61 73 65 20 27 37 27 3a | 20 6a 2d 2d 3b 0a 58 20 |ase '7':| j--;.X |
|00001930| 20 20 20 20 20 20 20 63 | 61 73 65 20 27 34 27 3a | c|ase '4':|
|00001940| 20 69 2d 2d 3b 20 62 72 | 65 61 6b 3b 0a 58 20 20 | i--; br|eak;.X |
|00001950| 20 20 20 20 20 20 63 61 | 73 65 20 27 39 27 3a 20 | ca|se '9': |
|00001960| 69 2b 2b 3b 0a 58 20 20 | 20 20 20 20 20 20 63 61 |i++;.X | ca|
|00001970| 73 65 20 27 38 27 3a 20 | 6a 2d 2d 3b 20 62 72 65 |se '8': |j--; bre|
|00001980| 61 6b 3b 0a 58 20 20 20 | 20 20 20 20 20 63 61 73 |ak;.X | cas|
|00001990| 65 20 27 33 27 3a 20 6a | 2b 2b 3b 0a 58 20 20 20 |e '3': j|++;.X |
|000019a0| 20 20 20 20 20 63 61 73 | 65 20 27 36 27 3a 20 69 | cas|e '6': i|
|000019b0| 2b 2b 3b 20 62 72 65 61 | 6b 3b 0a 58 20 20 20 20 |++; brea|k;.X |
|000019c0| 20 20 20 20 63 61 73 65 | 20 27 20 27 3a 20 74 6f | case| ' ': to|
|000019d0| 67 67 6c 65 28 69 2c 6a | 29 3b 20 62 72 65 61 6b |ggle(i,j|); break|
|000019e0| 3b 0a 58 20 20 20 20 20 | 20 20 20 63 61 73 65 20 |;.X | case |
|000019f0| 31 32 3a 20 63 6c 65 61 | 72 28 29 3b 20 72 65 66 |12: clea|r(); ref|
|00001a00| 72 65 73 68 28 29 3b 20 | 62 72 65 61 6b 3b 0a 58 |resh(); |break;.X|
|00001a10| 20 20 20 20 20 20 20 20 | 2f 2a 20 63 61 73 65 20 | |/* case |
|00001a20| 27 5c 6e 27 3a 20 2a 2f | 20 63 61 73 65 20 31 33 |'\n': */| case 13|
|00001a30| 3a 20 63 61 73 65 20 31 | 30 3a 20 6d 6f 76 65 74 |: case 1|0: movet|
|00001a40| 6f 28 69 2c 6a 29 3b 0a | 58 20 20 20 20 20 20 20 |o(i,j);.|X |
|00001a50| 20 64 65 66 61 75 6c 74 | 3a 20 62 72 65 61 6b 3b | default|: break;|
|00001a60| 0a 58 20 20 20 20 20 20 | 7d 0a 58 20 20 20 20 69 |.X |}.X i|
|00001a70| 66 20 28 69 3c 30 29 20 | 69 3d 30 3b 20 69 66 20 |f (i<0) |i=0; if |
|00001a80| 28 69 3e 3d 4d 41 58 29 | 20 69 3d 4d 41 58 2d 31 |(i>=MAX)| i=MAX-1|
|00001a90| 3b 20 69 66 20 28 6a 3c | 30 29 20 6a 3d 30 3b 20 |; if (j<|0) j=0; |
|00001aa0| 69 66 20 28 6a 3e 3d 4d | 41 58 29 20 6a 3d 4d 41 |if (j>=M|AX) j=MA|
|00001ab0| 58 2d 31 3b 0a 58 20 20 | 7d 0a 58 0a 58 65 6e 64 |X-1;.X |}.X.Xend|
|00001ac0| 77 69 6e 28 29 3b 0a 58 | 69 66 20 28 62 6f 6f 6d |win();.X|if (boom|
|00001ad0| 3d 3d 31 29 20 70 72 69 | 6e 74 66 20 28 22 47 6f |==1) pri|ntf ("Go|
|00001ae0| 6f 64 20 6a 6f 62 21 5c | 6e 22 29 3b 0a 58 65 6c |od job!\|n");.Xel|
|00001af0| 73 65 20 70 72 69 6e 74 | 66 20 28 22 2a 2a 2a 42 |se print|f ("***B|
|00001b00| 4f 4f 4d 2a 2a 2a 5c 6e | 22 29 3b 0a 58 66 6f 72 |OOM***\n|");.Xfor|
|00001b10| 20 28 6a 3d 30 3b 6a 3c | 4d 41 58 3b 6a 2b 2b 2c | (j=0;j<|MAX;j++,|
|00001b20| 70 72 69 6e 74 66 28 22 | 5c 6e 22 29 29 0a 58 20 |printf("|\n")).X |
|00001b30| 20 66 6f 72 20 28 69 3d | 30 3b 69 3c 4d 41 58 3b | for (i=|0;i<MAX;|
|00001b40| 69 2b 2b 29 0a 58 20 20 | 20 20 7b 0a 58 20 20 20 |i++).X | {.X |
|00001b50| 20 20 20 69 66 20 28 74 | 68 69 6e 6b 5b 69 5d 5b | if (t|hink[i][|
|00001b60| 6a 5d 3c 4e 4f 54 59 45 | 54 29 0a 58 20 20 20 20 |j]<NOTYE|T).X |
|00001b70| 20 20 20 20 69 66 20 28 | 67 72 69 64 5b 69 5d 5b | if (|grid[i][|
|00001b80| 6a 5d 29 20 70 72 69 6e | 74 66 20 28 22 2a 20 20 |j]) prin|tf ("* |
|00001b90| 22 29 3b 0a 58 20 20 20 | 20 20 20 20 20 65 6c 73 |");.X | els|
|00001ba0| 65 20 70 72 69 6e 74 66 | 20 28 22 6f 20 20 22 29 |e printf| ("o ")|
|00001bb0| 3b 0a 58 20 20 20 20 20 | 20 65 6c 73 65 0a 58 20 |;.X | else.X |
|00001bc0| 20 20 20 20 20 20 20 69 | 66 20 28 74 68 69 6e 6b | i|f (think|
|00001bd0| 5b 69 5d 5b 6a 5d 3d 3d | 4e 4f 54 59 45 54 29 0a |[i][j]==|NOTYET).|
|00001be0| 58 20 20 20 20 20 20 20 | 20 20 20 69 66 20 28 67 |X | if (g|
|00001bf0| 72 69 64 5b 69 5d 5b 6a | 5d 29 0a 58 20 20 20 20 |rid[i][j|]).X |
|00001c00| 20 20 20 20 20 20 20 20 | 70 72 69 6e 74 66 20 28 | |printf (|
|00001c10| 22 2a 2e 20 22 29 3b 0a | 58 20 20 20 20 20 20 20 |"*. ");.|X |
|00001c20| 20 20 20 20 20 65 6c 73 | 65 20 70 72 69 6e 74 66 | els|e printf|
|00001c30| 20 28 22 6f 2e 20 22 29 | 3b 0a 58 20 20 20 20 20 | ("o. ")|;.X |
|00001c40| 20 20 20 65 6c 73 65 0a | 58 20 20 20 20 20 20 20 | else.|X |
|00001c50| 20 20 20 69 66 20 28 74 | 68 69 6e 6b 5b 69 5d 5b | if (t|hink[i][|
|00001c60| 6a 5d 3d 3d 42 4f 4d 42 | 29 0a 58 20 20 20 20 20 |j]==BOMB|).X |
|00001c70| 20 20 20 20 20 20 20 69 | 66 20 28 67 72 69 64 5b | i|f (grid[|
|00001c80| 69 5d 5b 6a 5d 29 0a 58 | 20 20 20 20 20 20 20 20 |i][j]).X| |
|00001c90| 20 20 20 20 20 20 70 72 | 69 6e 74 66 20 28 22 2a | pr|intf ("*|
|00001ca0| 21 20 22 29 3b 0a 58 20 | 20 20 20 20 20 20 20 20 |! ");.X | |
|00001cb0| 20 20 20 65 6c 73 65 20 | 70 72 69 6e 74 66 20 28 | else |printf (|
|00001cc0| 22 6f 3f 20 22 29 3b 0a | 58 20 20 20 20 20 20 20 |"o? ");.|X |
|00001cd0| 20 20 20 65 6c 73 65 0a | 58 20 20 20 20 20 20 20 | else.|X |
|00001ce0| 20 20 20 20 20 69 66 20 | 28 67 72 69 64 5b 69 5d | if |(grid[i]|
|00001cf0| 5b 6a 5d 29 0a 58 20 20 | 20 20 20 20 20 20 20 20 |[j]).X | |
|00001d00| 20 20 20 20 70 72 69 6e | 74 66 20 28 22 2a 3f 20 | prin|tf ("*? |
|00001d10| 22 29 3b 0a 58 20 20 20 | 20 20 20 20 20 20 20 20 |");.X | |
|00001d20| 20 65 6c 73 65 20 70 72 | 69 6e 74 66 20 28 22 6f | else pr|intf ("o|
|00001d30| 21 20 22 29 3b 20 0a 58 | 20 20 20 20 7d 0a 58 70 |! "); .X| }.Xp|
|00001d40| 72 69 6e 74 66 20 28 22 | 5c 6e 2a 3d 62 6f 6d 62 |rintf ("|\n*=bomb|
|00001d50| 2c 20 6f 3d 6f 6b 61 79 | 20 20 20 20 20 2e 3d 6e |, o=okay| .=n|
|00001d60| 6f 20 67 75 65 73 73 2c | 20 21 3d 72 69 67 68 74 |o guess,| !=right|
|00001d70| 2c 20 3f 3d 77 72 6f 6e | 67 5c 6e 5c 6e 22 29 3b |, ?=wron|g\n\n");|
|00001d80| 0a 58 7d 0a 45 4e 44 5f | 4f 46 5f 46 49 4c 45 0a |.X}.END_|OF_FILE.|
|00001d90| 69 66 20 74 65 73 74 20 | 34 35 37 35 20 2d 6e 65 |if test |4575 -ne|
|00001da0| 20 60 77 63 20 2d 63 20 | 3c 27 62 6f 6d 62 2e 63 | `wc -c |<'bomb.c|
|00001db0| 27 60 3b 20 74 68 65 6e | 0a 20 20 20 20 65 63 68 |'`; then|. ech|
|00001dc0| 6f 20 73 68 61 72 3a 20 | 5c 22 27 62 6f 6d 62 2e |o shar: |\"'bomb.|
|00001dd0| 63 27 5c 22 20 75 6e 70 | 61 63 6b 65 64 20 77 69 |c'\" unp|acked wi|
|00001de0| 74 68 20 77 72 6f 6e 67 | 20 73 69 7a 65 21 0a 66 |th wrong| size!.f|
|00001df0| 69 0a 23 20 65 6e 64 20 | 6f 66 20 27 62 6f 6d 62 |i.# end |of 'bomb|
|00001e00| 2e 63 27 0a 66 69 0a 69 | 66 20 74 65 73 74 20 2d |.c'.fi.i|f test -|
|00001e10| 66 20 27 62 75 69 6c 64 | 5f 76 6d 73 2e 63 6f 6d |f 'build|_vms.com|
|00001e20| 27 20 2d 61 20 22 24 7b | 31 7d 22 20 21 3d 20 22 |' -a "${|1}" != "|
|00001e30| 2d 63 22 20 3b 20 74 68 | 65 6e 20 0a 20 20 65 63 |-c" ; th|en . ec|
|00001e40| 68 6f 20 73 68 61 72 3a | 20 57 69 6c 6c 20 6e 6f |ho shar:| Will no|
|00001e50| 74 20 63 6c 6f 62 62 65 | 72 20 65 78 69 73 74 69 |t clobbe|r existi|
|00001e60| 6e 67 20 66 69 6c 65 20 | 5c 22 27 62 75 69 6c 64 |ng file |\"'build|
|00001e70| 5f 76 6d 73 2e 63 6f 6d | 27 5c 22 0a 65 6c 73 65 |_vms.com|'\".else|
|00001e80| 0a 65 63 68 6f 20 73 68 | 61 72 3a 20 45 78 74 72 |.echo sh|ar: Extr|
|00001e90| 61 63 74 69 6e 67 20 5c | 22 27 62 75 69 6c 64 5f |acting \|"'build_|
|00001ea0| 76 6d 73 2e 63 6f 6d 27 | 5c 22 20 5c 28 39 33 20 |vms.com'|\" \(93 |
|00001eb0| 63 68 61 72 61 63 74 65 | 72 73 5c 29 0a 73 65 64 |characte|rs\).sed|
|00001ec0| 20 22 73 2f 5e 58 2f 2f | 22 20 3e 27 62 75 69 6c | "s/^X//|" >'buil|
|00001ed0| 64 5f 76 6d 73 2e 63 6f | 6d 27 20 3c 3c 27 45 4e |d_vms.co|m' <<'EN|
|00001ee0| 44 5f 4f 46 5f 46 49 4c | 45 27 0a 58 24 20 63 63 |D_OF_FIL|E'.X$ cc|
|00001ef0| 20 62 6f 6d 62 0a 58 24 | 20 6c 69 6e 6b 20 62 6f | bomb.X$| link bo|
|00001f00| 6d 62 2b 73 79 73 24 69 | 6e 70 75 74 2f 6f 70 74 |mb+sys$i|nput/opt|
|00001f10| 0a 58 73 79 73 24 73 68 | 61 72 65 3a 76 61 78 63 |.Xsys$sh|are:vaxc|
|00001f20| 74 72 6c 2f 73 68 61 72 | 65 0a 58 24 20 64 65 6c |trl/shar|e.X$ del|
|00001f30| 65 74 65 20 62 6f 6d 62 | 2e 6f 62 6a 3b 0a 58 24 |ete bomb|.obj;.X$|
|00001f40| 20 70 75 20 62 6f 6d 62 | 2e 65 78 65 0a 45 4e 44 | pu bomb|.exe.END|
|00001f50| 5f 4f 46 5f 46 49 4c 45 | 0a 69 66 20 74 65 73 74 |_OF_FILE|.if test|
|00001f60| 20 39 33 20 2d 6e 65 20 | 60 77 63 20 2d 63 20 3c | 93 -ne |`wc -c <|
|00001f70| 27 62 75 69 6c 64 5f 76 | 6d 73 2e 63 6f 6d 27 60 |'build_v|ms.com'`|
|00001f80| 3b 20 74 68 65 6e 0a 20 | 20 20 20 65 63 68 6f 20 |; then. | echo |
|00001f90| 73 68 61 72 3a 20 5c 22 | 27 62 75 69 6c 64 5f 76 |shar: \"|'build_v|
|00001fa0| 6d 73 2e 63 6f 6d 27 5c | 22 20 75 6e 70 61 63 6b |ms.com'\|" unpack|
|00001fb0| 65 64 20 77 69 74 68 20 | 77 72 6f 6e 67 20 73 69 |ed with |wrong si|
|00001fc0| 7a 65 21 0a 66 69 0a 23 | 20 65 6e 64 20 6f 66 20 |ze!.fi.#| end of |
|00001fd0| 27 62 75 69 6c 64 5f 76 | 6d 73 2e 63 6f 6d 27 0a |'build_v|ms.com'.|
|00001fe0| 66 69 0a 69 66 20 74 65 | 73 74 20 2d 66 20 27 6d |fi.if te|st -f 'm|
|00001ff0| 61 6b 65 66 69 6c 65 27 | 20 2d 61 20 22 24 7b 31 |akefile'| -a "${1|
|00002000| 7d 22 20 21 3d 20 22 2d | 63 22 20 3b 20 74 68 65 |}" != "-|c" ; the|
|00002010| 6e 20 0a 20 20 65 63 68 | 6f 20 73 68 61 72 3a 20 |n . ech|o shar: |
|00002020| 57 69 6c 6c 20 6e 6f 74 | 20 63 6c 6f 62 62 65 72 |Will not| clobber|
|00002030| 20 65 78 69 73 74 69 6e | 67 20 66 69 6c 65 20 5c | existin|g file \|
|00002040| 22 27 6d 61 6b 65 66 69 | 6c 65 27 5c 22 0a 65 6c |"'makefi|le'\".el|
|00002050| 73 65 0a 65 63 68 6f 20 | 73 68 61 72 3a 20 45 78 |se.echo |shar: Ex|
|00002060| 74 72 61 63 74 69 6e 67 | 20 5c 22 27 6d 61 6b 65 |tracting| \"'make|
|00002070| 66 69 6c 65 27 5c 22 20 | 5c 28 32 33 37 20 63 68 |file'\" |\(237 ch|
|00002080| 61 72 61 63 74 65 72 73 | 5c 29 0a 73 65 64 20 22 |aracters|\).sed "|
|00002090| 73 2f 5e 58 2f 2f 22 20 | 3e 27 6d 61 6b 65 66 69 |s/^X//" |>'makefi|
|000020a0| 6c 65 27 20 3c 3c 27 45 | 4e 44 5f 4f 46 5f 46 49 |le' <<'E|ND_OF_FI|
|000020b0| 4c 45 27 0a 58 23 20 6d | 61 6b 65 66 69 6c 65 20 |LE'.X# m|akefile |
|000020c0| 66 6f 72 20 62 6f 6d 62 | 0a 58 23 0a 58 43 43 3d |for bomb|.X#.XCC=|
|000020d0| 20 63 63 0a 58 0a 58 23 | 20 79 6f 75 72 20 73 79 | cc.X.X#| your sy|
|000020e0| 73 74 65 6d 20 6d 61 79 | 20 6e 6f 74 20 72 65 71 |stem may| not req|
|000020f0| 75 69 72 65 20 74 65 72 | 6d 6c 69 62 20 74 6f 20 |uire ter|mlib to |
|00002100| 62 65 20 6c 6f 61 64 65 | 64 0a 58 4c 49 42 52 41 |be loade|d.XLIBRA|
|00002110| 52 49 45 53 3d 20 2d 6c | 6d 20 2d 6c 63 75 72 73 |RIES= -l|m -lcurs|
|00002120| 65 73 20 2d 6c 74 65 72 | 6d 6c 69 62 0a 58 0a 58 |es -lter|mlib.X.X|
|00002130| 23 20 75 73 65 20 2d 67 | 20 66 6f 72 20 64 65 62 |# use -g| for deb|
|00002140| 75 67 67 69 6e 67 2c 20 | 69 66 20 6e 65 63 65 73 |ugging, |if neces|
|00002150| 73 61 72 79 0a 58 46 4c | 41 47 53 3d 20 2d 4f 0a |sary.XFL|AGS= -O.|
|00002160| 58 0a 58 64 65 66 61 75 | 6c 74 3a 20 62 6f 6d 62 |X.Xdefau|lt: bomb|
|00002170| 0a 58 0a 58 62 6f 6d 62 | 3a 20 62 6f 6d 62 2e 63 |.X.Xbomb|: bomb.c|
|00002180| 0a 58 09 24 28 43 43 29 | 20 24 28 46 4c 41 47 53 |.X.$(CC)| $(FLAGS|
|00002190| 29 20 2d 6f 20 62 6f 6d | 62 20 62 6f 6d 62 2e 63 |) -o bom|b bomb.c|
|000021a0| 20 24 28 4c 49 42 52 41 | 52 49 45 53 29 0a 58 0a | $(LIBRA|RIES).X.|
|000021b0| 45 4e 44 5f 4f 46 5f 46 | 49 4c 45 0a 69 66 20 74 |END_OF_F|ILE.if t|
|000021c0| 65 73 74 20 32 33 37 20 | 2d 6e 65 20 60 77 63 20 |est 237 |-ne `wc |
|000021d0| 2d 63 20 3c 27 6d 61 6b | 65 66 69 6c 65 27 60 3b |-c <'mak|efile'`;|
|000021e0| 20 74 68 65 6e 0a 20 20 | 20 20 65 63 68 6f 20 73 | then. | echo s|
|000021f0| 68 61 72 3a 20 5c 22 27 | 6d 61 6b 65 66 69 6c 65 |har: \"'|makefile|
|00002200| 27 5c 22 20 75 6e 70 61 | 63 6b 65 64 20 77 69 74 |'\" unpa|cked wit|
|00002210| 68 20 77 72 6f 6e 67 20 | 73 69 7a 65 21 0a 66 69 |h wrong |size!.fi|
|00002220| 0a 23 20 65 6e 64 20 6f | 66 20 27 6d 61 6b 65 66 |.# end o|f 'makef|
|00002230| 69 6c 65 27 0a 66 69 0a | 65 63 68 6f 20 73 68 61 |ile'.fi.|echo sha|
|00002240| 72 3a 20 45 6e 64 20 6f | 66 20 73 68 65 6c 6c 20 |r: End o|f shell |
|00002250| 61 72 63 68 69 76 65 2e | 0a 65 78 69 74 20 30 0a |archive.|.exit 0.|
+--------+-------------------------+-------------------------+--------+--------+