10LOMEM :29000
12DIM building$(12)
14FOR x=1 TO 10:READ suspect$(x):NEXT x
16FOR x=1 TO 8:READ weapons$(x):NEXT x
18FOR x=1 TO 12:READ building$(x):NEXT x
20 ca=5: cb=245: cc=30
22GOSUB 584
24INVERSE
26FOR y=8 TO 16:FOR x=3 TO 28
28HTAB x:VTAB y:? " "; :NEXT x:NEXT y
30FOR x=3 TO 28:VTAB 7:HTAB x:? "*"; :VTAB 17:HTAB x:? "*"; :NEXT x
32FOR y=8 TO 16:VTAB y:HTAB 3:? "*"; :VTAB y:HTAB 28:? "*"; :NEXT y
34VTAB 9:HTAB 6:? "LAS VEGAS 'ADAM' CLUB"; 
36VTAB 12:HTAB 12:? "presents"; 
38VTAB 15:HTAB 7:? "W I L D    W E S T"; 
40NORMAL
42VTAB 22:?:? " Do you need instructions? Y/N"; :GET k$
44IF k$="y" OR k$="Y" THEN 468
46GOTO 520
48REM      SETUP
50GOSUB 578: t=1
52 vi=INT(RND(1)*10)+1
54 su=INT(RND(1)*10)+1
56 we=INT(RND(1)*8)+1
58 bu=INT(RND(1)*12)+1
60 rd=PEEK(64885)
62IF rd<>144 AND rd<>152 THEN 52
64GOSUB 586:?:VTAB 20
66? "  TURN #"; t
68GOSUB 466
70GOSUB 580
72FOR x=9 TO 16:VTAB x:?:NEXT x
74VTAB 17:HTAB 2:? "******* VICTIM  LIST *******"; :NORMAL:HTAB 1
76VTAB 10:FOR x=1 TO 5:HTAB 6
78? x; "."; su$(x); :HTAB 20:IF x+5>9 THEN HTAB 19
80? x+5; "."; su$(x+5):NEXT x
82VTAB 20:INPUT "    WHO WAS DONE IN ?"; v
84IF v<1 OR v>10 THEN 70
86GOSUB 580
88FOR x=9 TO 17:VTAB x:?:NEXT x
90VTAB 9:HTAB 2:? "******* WEAPON  LIST *******"; :NORMAL:HTAB 1
92VTAB 10:FOR x=1 TO 8:HTAB 10
94? x; "."; we$(x):NEXT x
96VTAB 20:INPUT "    WHAT WAS THE WEAPON ?"; w
98IF w<1 OR w>8 THEN 86
100VTAB 20
102GOSUB 580
104FOR x=9 TO 16:VTAB x:?:NEXT x
106VTAB 17:HTAB 2:? "******* SUSPECT LIST *******"; :NORMAL:HTAB 1
108VTAB 10:FOR x=1 TO 5:HTAB 6
110? x; "."; su$(x); :HTAB 20:IF x+5>9 THEN HTAB 19
112? x+5; "."; su$(x+5):NEXT x:VTAB 20
114INPUT "    WHO IS THE MURDERER ?"; s
116IF s<1 OR s>10 THEN 100
118FOR x=9 TO 17:VTAB x:?:NEXT x
120VTAB 20:?
122VTAB 10:? "   Y'ER SAYIN :"
124?:? "  "; su$(v); " WAS DONE IN "
126? "  AT THE "; bu$(b)
128? "  WITH THE "; we$(w)
130? "  AND THE MURDERER IS "; su$(s); "!"
132IF su$(v)=su$(s) THEN VTAB 18:? "  YOU THINK IT WAS A SUICIDE.":GOSUB 578
134VTAB 20:? "  LET ME CHECK THIS OUT......":GOSUB 578:GOSUB 578
136VTAB 20:?
138 ga=0
140IF bu$(b)=bu$(bu) THEN  ga=ga+1
142IF su$(s)=su$(su) THEN  ga=ga+1
144IF su$(v)=su$(vi) THEN  ga=ga+1
146IF we$(w)=we$(we) THEN  ga=ga+1
148IF ga=4 THEN 248
150 gu=INT(RND(1)*4)+1
152ON gu GOTO 224, 230, 236, 242
154GOSUB 578
156VTAB 22:? " NEED MORE INFORMATION (y/n)?   (it will cost you 5 turns)"; :GET k$
158IF k$="n" OR k$="N" THEN 222
160IF k$="y" OR k$="Y" THEN 164
162HTAB 1:GOTO 156
164 t=t+5:GOSUB 580
166VTAB 18:? " YOU HAVE "; ga; " OUT OF 4 CORRECT":?
168GOSUB 578
170VTAB 22:? " NEED MORE INFORMATION (y/n)?   (it will cost you 10 turns)"; :GET k$
172IF k$="n" OR k$="N" THEN 222
174IF k$="y" OR k$="Y" THEN 178
176HTAB 1:GOTO 166
178 t=t+10
180TEXT
182?:? "  WHICH OF THE FOLLOWING DO      YOU NEED MORE INFO ON ?"
184?:? "    1. BUILDING":? "    2. SUSPECT"
186? "    3. VICTIIM":? "    4. WEAPON"
188?:?:INPUT "  ENTER THE #"; k
190IF k<1 OR k>4 THEN 180
192 an$="INCORRECT":VTAB 9:?:? "  You Chose :"
194ON k GOTO 198, 204, 210, 216
196END
198IF bu$(b)=bu$(bu) THEN  an$="CORRECT"
200? "     THE "; bu$(b)
202GOTO 220
204IF su$(s)=su$(su) THEN  an$="CORRECT"
206? "      "; su$(s); " as a SUSPECT"
208GOTO 220
210IF su$(v)=su$(vi) THEN  an$="CORRECT"
212? "      "; su$(v); " as the VICTIM"
214GOTO 220
216IF we$(w)=we$(we) THEN  an$="CORRECT"
218? "    THE "; we$(w)
220?:? "  You are "; an$
222GOSUB 580:GOSUB 466: t=t+1:GOTO 64
224IF bu$(b)=bu$(bu) THEN 150
226VTAB 18:? "  THE "; bu$(b):? "  IS NOT THE BUILDING."
228GOTO 156
230IF su$(s)=su$(su) THEN 150
232VTAB 18:? "  "; su$(s); " IS NOT THE SUSPECT. ":?
234GOTO 156
236IF su$(v)=su$(vi) THEN 150
238VTAB 18:? "  "; su$(v); " IS NOT THE VICTIM.":?
240GOTO 156
242IF we$(w)=we$(we) THEN 150
244VTAB 18:? "  THE "; we$(w):? "  IS NOT THE WEAPON."
246GOTO 156
248REM           END
250GOSUB 628:HTAB 1
252INVERSE:VTAB 18:? "  YOU HAVE GUESSED CORRECTLY  ":NORMAL
254IF su$(su)=su$(vi) THEN ? "  "; su$(vi); " Commited Suicide":GOTO 258
256? " "; su$(v); " was done in by "; su$(s)
258? "  At the "; bu$(b):? "  With the "; we$(w)
260? "  It took you "; t; " turns"; :GOSUB 578:GOSUB 578
262GOSUB 466:GOSUB 580:VTAB 19:?:? " WOULD YOU LIKE TO PLAY AGAIN?"
264?:? "      ENTER YES OR NO"; :GET k$
266IF k$="y" OR k$="Y" THEN 22
268TEXT:END
270REM             BANK
272 ca=10: cb=27: cc=28:GOSUB 584
274GOSUB 524
276VTAB 3:HTAB 14:? bu$(7); 
278VTAB 2:HTAB 10:? "$"; :HTAB 21:? "$"; 
280VTAB 4:HTAB 10:? "$"; :HTAB 21:? "$"; :NORMAL
282 cs=32:GOSUB 540: y=17:GOSUB 548
284VTAB 19:RETURN
286REM              GEN STORE
288 ca=3: cb=23: cc=244:GOSUB 584
290GOSUB 524:NORMAL
292 cs=32:GOSUB 540: y=17:GOSUB 548
294VTAB 3:HTAB 12:? " GENERAL"; :HTAB 13:VTAB 4:? " STORE"; 
296VTAB 6:HTAB 3:? "/////////////\\\\\\\\\\\\\": y=7:GOSUB 548
298VTAB 8:HTAB 2:? "VVVVVVVVVVVVVVVVVVVVVVVVVVVV"
300VTAB 20:RETURN
302REM               JAIL
304 ca=15: cb=30: cc=113:GOSUB 584
306GOSUB 524
308VTAB 8:HTAB 14:? bu$(6); :NORMAL
310 cs=124:GOSUB 540: y=17:GOSUB 548
312VTAB 19:RETURN
314REM             BLACKSMITH
316 ca=9: cb=30: cc=177:GOSUB 584
318INVERSE:GOSUB 528
320VTAB 6:HTAB 11:? bu$(8); :NORMAL
322 cs=32: y=17:GOSUB 548
324FOR y=8 TO 16:FOR x=7 TO 24
326HTAB x:VTAB y:? " "; :NEXT x:NEXT y:VTAB 1:?
328VTAB 1:?:HTAB 10:VTAB 2:? "____________"; 
330VTAB 19:RETURN
332REM             LIVERY STABLE
334 ca=1: cb=19: cc=27:GOSUB 584
336INVERSE:GOSUB 528
338VTAB 6:HTAB 10:? bu$(9); :NORMAL
340 cs=32: y=17:GOSUB 548
342GOSUB 324
344VTAB 19:RETURN
346REM              TELEGRAPH OFFICE
348 ca=1: cb=27: cc=25:GOSUB 584
350INVERSE:GOSUB 528
352VTAB 6:HTAB 8:? bu$(1); :NORMAL
354 cs=32: y=17:GOSUB 548
356VTAB 1:GOSUB 328
358 cs=32:GOSUB 540: y=17:GOSUB 548
360VTAB 19:RETURN
362REM             BARBER SHOP
364 ca=4: cb=23: cc=107:GOSUB 584
366GOSUB 524
368VTAB 7:HTAB 11:? bu$(5); :NORMAL: cs=32
370FOR y=10 TO 16:FOR x=8 TO 11:HTAB x:VTAB y:? CHR$(cs); :NEXT x:NEXT y
372FOR y=9 TO 13:FOR x=18 TO 25:HTAB x:VTAB y:? CHR$(cs); :NEXT x:NEXT y
374 y=17:GOSUB 548:INVERSE
376VTAB 12:HTAB 14:? "()"; :VTAB 13:HTAB 14:? "XX"; 
378VTAB 14:HTAB 14:? "XX"; :VTAB 15:HTAB 14:? "XX"; :NORMAL
380VTAB 19:RETURN
382REM        SALOON
384 ca=13: cb=244: cc=177:GOSUB 584
386GOSUB 524
388VTAB 3:HTAB 13:? bu$(3); :NORMAL
390 cs=32:GOSUB 540: y=7:GOSUB 548: y=17:GOSUB 548:VTAB 11:HTAB 14:? "____"; 
392INVERSE:VTAB 12:HTAB 13:? "}=||={"; :VTAB 13:HTAB 14:? "=||="; 
394VTAB 14:HTAB 14:? "=||="; :VTAB 15:HTAB 13:? "}=||={"; 
396NORMAL:VTAB 19:RETURN
398REM        HOTEL
400 ca=10: cb=28: cc=25:GOSUB 584
402INVERSE:GOSUB 528
404VTAB 6:HTAB 6:? "BARBARY COAST  "; bu$(2); :NORMAL
406 cs=32: y=17:GOSUB 548
408VTAB 1:GOSUB 328
410 cs=32:GOSUB 554: y=10:GOSUB 548: y=17:GOSUB 548
412VTAB 15:HTAB 15:? "   "; :VTAB 16:HTAB 15:? "   "; 
414VTAB 19:RETURN
416REM        DOC'S
418 ca=12: cb=19: cc=30:GOSUB 584
420INVERSE:GOSUB 528
422VTAB 6:HTAB 10:? bu$(12); " OFFICE"; :NORMAL
424 cs=32: y=17:GOSUB 548
426VTAB 1:GOSUB 328
428 cs=32:GOSUB 540: y=17:GOSUB 548
430VTAB 13:HTAB 14:? ";"; 
432VTAB 19:RETURN
434REM        SCHOOL
436 ca=11: cb=110: cc=22:GOSUB 584
438?:?:GOSUB 560
440VTAB 10:HTAB 12:? " "; bu$(b); :VTAB 19
442RETURN
444REM        CHURCH 
446 ca=4: cb=30: cc=31:GOSUB 584
448HTAB 15:? "+":HTAB 15:? "|":GOSUB 560
450RETURN
452END
454DATA          JAKE,DOC,JED,RINGO,BART,
456DATA          KITTY,CLARA,LIZZIE,ROSIE,DOLLY
458DATA           RAZOR,COLT.44,ROPE,PITCH FORK,AXE,HORSESHOE,WHISKEY BOTTLE,ARSENIC 
460DATA          TELEGRAPH OFFICE,HOTEL,SALOON,GENERAL STORE,BARBER SHOP
462DATA         JAIL,BANK,BLACKSMITH,LIVERY STABLE,SCHOOL,
464DATA         CHURCH,DOC'S
466VTAB 22:?:? "  press any key to continue."; :GET k$:RETURN
468VTAB 22:? " ":VTAB 5:HTAB 9:? "'INSTRUCTIONS'":INVERSE
470VTAB 9:HTAB 5:? "The year  1869, in the "; :VTAB 11:HTAB 6
472? "WILD Western town of"; :VTAB 12:HTAB 11:? "          "; 
474VTAB 13:HTAB 11:? "'RED ROCK'"; 
476VTAB 15:HTAB 5:? "there's been a murder!"; 
478NORMAL:GOSUB 466:INVERSE
480VTAB 9:HTAB 5:? "The object is to guess "; 
482VTAB 10:HTAB 5:? "the murderers Identity,"; 
484VTAB 11:HTAB 5:? "Location of the murder,"; 
486VTAB 12:HTAB 5:? "the Weapon used & the "; 
488VTAB 13:HTAB 5:? "Murdered victim.      "; 
490VTAB 15:HTAB 5:? "(IN THE FEWEST TURNS.)"; 
492NORMAL:GOSUB 466
494TEXT:VTAB 3:? "   THESE ARE THE BUILDINGS:"
496?:FOR x=1 TO 12:HTAB 6:IF x<10 THEN HTAB 7
498? x; ". "; bu$(x):NEXT x
500GOSUB 466
502TEXT:VTAB 3:? "  THIS IS THE SUSPECT LIST:"
504?:FOR x=1 TO 10:HTAB 8:IF x<10 THEN HTAB 9
506? x; ". "; su$(x):NEXT x
508VTAB 17:? " THIS IS ALSO THE VICTIM LIST."
510GOSUB 466
512TEXT:VTAB 3:? "    THESE ARE THE WEAPONS:"
514?:FOR x=1 TO 8:HTAB 8
516? x; ". "; we$(x):NEXT x
518GOSUB 466
520TEXT:VTAB 10:? " PRESS WILDCARD KEY TO BEGIN !"
522GOTO 48
524INVERSE:VTAB 2:HTAB 10:? "            "
526HTAB 10:? "            ":HTAB 10:? "            "
528FOR y=5 TO 16:FOR x=3 TO 28
530HTAB x:VTAB y:? " "; :NEXT x:NEXT y:NORMAL
532 x=5:HTAB x:VTAB 2:? "_____"; :HTAB x+17:? "_____"; 
534HTAB 10:VTAB 1:? "/----------\":HTAB 4:VTAB 3:? "/"; :HTAB 27:? "\"
536HTAB 3:? "/"; :HTAB 28:? "\"
538INVERSE:RETURN
540FOR y=8 TO 11:FOR x=6 TO 9
542HTAB x:VTAB y:? CHR$(cs); :HTAB x+16:? CHR$(cs); 
544VTAB y+2:HTAB x+8:? CHR$(cs); :VTAB y+5:HTAB x+8:? CHR$(cs); 
546NEXT x:NEXT y:RETURN
548HTAB 2:VTAB y:? "//////////////\\\\\\\\\\\\\\"
550INVERSE:HTAB 2:? "                            ":NORMAL
552RETURN
554FOR x=5 TO 25 STEP 5:FOR y=7 TO 13 STEP 6:VTAB y:HTAB x
556? "   "; :VTAB y+1:HTAB x:? "   "; :NEXT y:NEXT x
558RETURN
560HTAB 10:? "     ^     ":HTAB 10:? "    / \    "
562HTAB 10:? "   /   \   ":HTAB 10:? "   |___|   "
564HTAB 10:? "  /     \  ":HTAB 10:? " /       \ "
566HTAB 10:? "/         \"
568FOR x=10 TO 15:VTAB x:HTAB 10:? "|         |":NEXT x
570VTAB 11:HTAB 13:? "_____"; :FOR x=12 TO 15:VTAB x:HTAB 13:? "| | |"; :VTAB x+1:NEXT x
572VTAB 14:HTAB 14:? "'"; :HTAB 16:? "'"; :VTAB 16
574NORMAL:HTAB 10:? "///// \\\\\":INVERSE:HTAB 9:? "             ":NORMAL
576RETURN
578FOR x=1 TO 1500:NEXT x:RETURN
580VTAB 19
582FOR x=19 TO 23:VTAB x:? "":NEXT x:RETURN
584POKE 17059, ca:POKE 17115, cb:POKE 17126, cc:TEXT:NORMAL:RETURN
586 ca=11: cb=26: cc=242:GOSUB 584
588INVERSE:HTAB 1:? "                              ": x=2
590FOR y=2 TO 19:VTAB y:HTAB x:? "  "; :HTAB x+26:? "  "; 
592NEXT y:NORMAL
594VTAB 2:HTAB 9:? "?"; :HTAB 23:? "?"; 
596INVERSE:VTAB 3:HTAB 7:? " 1."; bu$(1); :NORMAL
598VTAB 4:HTAB 8:? "?"; :HTAB 12:? "?"; :HTAB 18:? "?"; :HTAB 25:? "?"; :INVERSE
600VTAB 5:HTAB 6:? " 2."; bu$(2); :HTAB 17:? " 3."; bu$(3); :NORMAL
602VTAB 6:HTAB 10:? "?"; :HTAB 22:? "?"; :INVERSE
604VTAB 7:HTAB 8:? " 4."; bu$(4); :NORMAL
606VTAB 8:HTAB 9:? "?"; :HTAB 17:? "?"; :HTAB 20:? "?"; :HTAB 23:? "?"; :INVERSE
608VTAB 9:HTAB 5:? " 5."; bu$(5); :HTAB 20:? " 6."; bu$(6); :NORMAL
610VTAB 10:HTAB 6:? "?"; :HTAB 10:? "?"; :HTAB 15:? "?"; :HTAB 25:? "?"; :INVERSE
612VTAB 11:HTAB 5:? " 7."; bu$(7); :HTAB 14:? " 8."; bu$(8); :NORMAL
614VTAB 12:HTAB 9:? "?"; :HTAB 22:? "?"; :INVERSE
616VTAB 13:HTAB 8:? " 9."; bu$(9); :NORMAL
618VTAB 14:HTAB 9:? "?"; :HTAB 14:? "?"; :HTAB 18:? "?"; :HTAB 23:? "?"; :INVERSE
620VTAB 15:HTAB 5:? " 10."; bu$(10); :HTAB 17:? " 11."; bu$(11); :NORMAL
622VTAB 16:HTAB 13:? "?"; :HTAB 19:? "?"; :INVERSE
624VTAB 17:HTAB 12:? " 12."; bu$(12); :NORMAL:VTAB 20:?
626VTAB 21:INPUT "  ENTER THE # OF THE BUILDING    WHERE YOU THINK THE MURDER     WAS COMMITED..."; b
628ON b GOTO 346, 398, 382, 286, 362, 302, 270, 314, 332, 434, 444, 416
630GOTO 626
632END

