10 POKE53264,.:GOTO1870 20 REM --- GAME SCREEN --- 30 POKE53281,.:POKE53280,.:PRINT"[147][154]"; 40 POKE53269,.:POKE53265,PEEK(53265)AND191 50 PRINTTAB(20-LEN(R$(1))/2)R$(1) 60 PRINT" @AAAABAAAABAAAABAAAABAAAABAAAABAAAAC" 70 FORI=1TO3:PRINT" ![160][160][160][160]#[160][160][160][160]#[160][160][160][160]#[160][160][160][160]#[160][160][160][160]#[160][160][160][160]#[160][160][160][160][192]":NEXT 80 PRINT" [193][194][195][161][194][162][194][195][161][194][162][194][195][161][194][162][194][195][161][194][162][194][195][161][194][162][194][195][161][194][162][194][195][161][194][163]" 90 PRINT" [192]![160][160][160][192]![160][160][160][192]![160][160][160][192]![160][160][160][192]![160][160][160][192]![160][160][160][192]!" 100 PRINT" @A[146]=>ABA[146]=>ABA[146]=>ABA[146]=>ABA[146]=>ABA[146]=>ABA[146]=>AC" 110 FORI=1TO3:PRINT" ![160][160][160][160]#[160][160][160][160]#[160][160][160][160]#[160][160][160][160]#[160][160][160][160]#[160][160][160][160]#[160][160][160][160][192]":NEXT 120 PRINT" [193][194][195][161][194][162][194][195][161][194][162][194][195][161][194][162][194][195][161][194][162][194][195][161][194][162][194][195][161][194][162][194][195][161][194][163]" 130 PRINT" [192]![160][160][160][192]![160][160][160][192]![160][160][160][192]![160][160][160][192]![160][160][160][192]![160][160][160][192]!" 140 PRINT" @A[146]=>ABA[146]=>ABA[146]=>ABA[146]=>ABA[146]=>ABA[146]=>ABA[146]=>AC" 150 FORI=1TO3:PRINT" ![160][160][160][160]#[160][160][160][160]#[160][160][160][160]#[160][160][160][160]#[160][160][160][160]#[160][160][160][160]#[160][160][160][160][192]":NEXT 160 PRINT" [193][194][195][161][194][162][194][195][161][194][162][194][195][161][194][162][194][195][161][194][162][194][195][161][194][162][194][195][161][194][162][194][195][161][194][163]" 170 PRINT" [192]![160][160][160][192]![160][160][160][192]![160][160][160][192]![160][160][160][192]![160][160][160][192]![160][160][160][192]!" 180 PRINT" [192][193] [192][193] [192][193] [192][193] [192][193] [192][193] [192][193]" 190 PRINTTAB(11)"[154]PRESS (G[154]) TO GUESS" 200 PRINTTAB(6)"@AAC@AAC@AAC@AAC@AAC@AAC@AAC" 210 PRINTTAB(6)"![160][160][192]![160][160][192]![160][160][192]![160][160][192]![160][160][192]![160][160][192]![160][160][192]" 220 PRINTTAB(6)"[193][194][194][163][193][194][194][163][193][194][194][163][193][194][194][163][193][194][194][163][193][194][194][163][193][194][194][163]" 230 PRINTTAB(11)"[154]PRESS (H[154]) FOR HELP" 240 REM --- SET UP SPRITES --- 250 FORI=.TO7:POKE52216+I,48+I:NEXT 260 POKE53248,60:POKE53249,98 270 F=52:FORI=53250TO53262STEP2:POKEI,FAND255:F=F+40:NEXT 280 FORI=53251TO53263STEP2:POKEI,164:NEXT 290 POKE53287,1:POKE53264,128 300 REM --- PLACE CHARACTERS --- 310 PT=20:FORI=1TO7:POKE214,1:PRINT:PRINTTAB((I-1)*5+3)M$(I):GOSUB1610:NEXT 320 PT=30:FORI=1TO7:POKE214,7:PRINT:PRINTTAB((I-1)*5+3)V$(I):GOSUB1610:NEXT 330 PT=40:FORI=1TO7:POKE53287+I,SC(I) 340 POKE53269,PEEK(53269)+SO(I):GOSUB1610:NEXT 350 GOSUB1650:R=1:C=1:POKE53269,255 360 REM --- MAIN --- 370 PT=40:GETA$ 380 IFA$="Q"THENGOSUB1610:GOTO1410 390 IFA$="G"THENGOSUB1610:GOTO840 400 IFA$="H"THENGOSUB1610:GOSUB2710 405 IFA$="H"THENG(R,C)=M(R,C):GOSUB700 410 PT=30:IF(PEEK(JY)AND16)=.ORA$=CHR$(13)THENGOSUB690 420 PT=20:J=PEEK(JY)AND15 430 IFJ=14ORA$="[145]"THENGOSUB490 440 IFJ=13ORA$=""THENGOSUB530 450 IFJ=11ORA$="[157]"THENGOSUB570 460 IFJ=7ORA$=""THENGOSUB630 470 GOTO370 480 REM --- UP --- 490 R=R-1:IFR<1THENR=3 500 POKE53249,50+R*48:GOSUB1610 510 FORDE=1TO50:NEXT:RETURN 520 REM --- DOWN --- 530 R=R+1:IFR>3THENR=1 540 POKE53249,50+R*48:GOSUB1610 550 FORDE=1TO50:NEXT:RETURN 560 REM --- LEFT --- 570 C=C-1:IFC<1THENC=7 580 POKE53269,254:POKE53264,128-(C>5) 590 POKE53248,C*40+20AND255 600 POKE53269,255:GOSUB1610 610 FORDE=1TO20:NEXT:RETURN 620 REM --- RIGHT --- 630 C=C+1:IFC>7THENC=1 640 POKE53269,254:POKE53264,128-(C>5) 650 POKE53248,C*40+20AND255 660 POKE53269,255:GOSUB1610 670 FORDE=1TO20:NEXT:RETURN 680 REM --- NEXT CHAR OR OBJ --- 690 G(R,C)=G(R,C)+1:IFG(R,C)>7THENG(R,C)=1 700 ONRGOTO720,760,800 710 REM --- THE KILLERS --- 720 POKE214,1:PRINT 730 PRINTTAB((C-1)*5+3)M$(G(R,C)) 740 GOSUB1610:RETURN 750 REM --- THE VICTIMS --- 760 POKE214,7:PRINT 770 PRINTTAB((C-1)*5+3)V$(G(R,C)) 780 GOSUB1610:RETURN 790 REM --- THE WEAPONS --- 800 POKE53269,PEEK(53269)-SO(C) 810 POKE53287+C,SC(G(R,C)):POKE52216+C,48+G(R,C) 820 POKE53269,255:GOSUB1610:RETURN 830 REM --- GUESS --- 840 POKE214,21:PRINT 850 PRINTTAB(7)"       " 860 M1=0:M2=0:M3=0 870 FORI=1TO7:F=0:FORJ=1TO7 880 IFG(1,J)=M(1,I)THENIFG(2,J)=M(2,I)THENIFG(3,J)=M(3,I)THENF=1:J=7 890 NEXT:M1=M1+F:NEXT 900 FORI=1TO7:F=0:FORJ=1TO3 910 IFG(J,I)=M(J,I)THENF=F+1 920 NEXT:IFF=2THENM2=M2+1 930 IFF=3THENM3=M3+1:M1=M1-1 940 NEXT 950 IFM3=7THEN1120 960 POKE214,21:PRINT:PRINTTAB(7); 970 PT=40:IFM3THENFORI=1TOM3:PRINT"[194][195]";:GOSUB1610:NEXT 980 PT=30:IFM2THENFORI=1TOM2:PRINT"[158][194][195]";:GOSUB1610:NEXT 990 PT=20:IFM1THENFORI=1TOM1:PRINT"[194][195]";:GOSUB1610:NEXT 1000 PRINT:G=G+1 1010 REM --- RATINGS --- 1020 IFG<31THENR$=R$(1):GOTO1090 1030 IFG<41THENR$=R$(2):GOTO1090 1040 IFG<51THENR$=R$(3):GOTO1090 1050 IFG<61THENR$=R$(4):GOTO1090 1060 IFG<71THENR$=R$(5):GOTO1090 1070 IFG<81THENR$=R$(6):GOTO1090 1080 R$=R$(7) 1090 PRINT"[154]"TAB(20-LEN(R$)/2)R$ 1100 GOTO370 1110 REM --- CASE CLOSED! --- 1120 GOSUB1740:GOSUB1490 1130 FORDE=1TO500:NEXT 1140 POKE214,19:PRINT 1150 PRINTTAB(12)"[154]GOOD JOB PIERRE!" 1160 FORDE=1TO1500:NEXT 1170 R$="YOU SOLVED IT IN"+STR$(G)+" MOVES" 1180 IFLEN(R$)AND1THENR$=R$+"!" 1190 PRINTTAB(20-LEN(R$)/2)R$ 1200 FORDE=1TO1500:NEXT 1210 PRINTTAB(9)"PLAY AGAIN? (Y[154]) OR (N[154])":PT=40 1220 GETA$:IFA$<>"Y"ANDA$<>"N"THEN1220 1230 GOSUB1610:IFA$="Y"THENRUN1870 1240 REM --- LET IT BE AS IT WAS --- 1250 PRINT"[147]":POKE53269,0:POKE53264,0 1260 POKE56578,PEEK(56578)OR3 1270 POKE56576,(PEEK(56576)AND252)OR3 1280 POKE53272,(PEEK(53272)AND15)OR16 1290 POKE53272,23:POKE648,4 1300 OPEN15,DV,15,"R0:HELLO CONNECT=HELLO CONNECT":INPUT#15,ER:CLOSE15 1310 IFER=63THEN1350 1320 POKE53281,6:POKE53280,14:PRINT"[147][154]" 1330 END 1340 REM --- BACK TO THE TOWER --- 1350 A$="HELLO CONNECT":Q$=CHR$(34) 1360 PRINT"[147][144]LOAD"Q$A$Q$","DV 1370 PRINT:PRINT:PRINT:PRINT:PRINT"RUN" 1380 POKE56,160:CLR 1390 POKE631,19:POKE632,13:POKE633,13:POKE198,3:END 1400 REM --- QUIT --- 1410 GOSUB1510:GOSUB1490 1420 POKE214,20:PRINT 1430 PRINTTAB(5)"[154]QUIT, ARE YOU SURE? (Y[154]) OR (N[154])" 1440 GETA$:IFA$<>"Y"ANDA$<>"N"THEN1440 1450 GOSUB1610:IFA$="N"THENGOSUB1550:POKE53269,255:GOTO370 1460 GOSUB1490:POKE214,19:PRINT 1470 GOTO1210 1480 REM --- CLEAR SCREEN LINES --- 1490 FORI=24TO20STEP-1:POKE781,I:SYS59903:NEXT:RETURN 1500 REM --- SAVE SCREEN --- 1510 SYS49152,55296,140*256,1000 1520 SYS49152,51200,136*256,1000 1530 RETURN 1540 REM --- RESTORE SCREEN --- 1550 SYS49152,140*256,55296,1000 1560 SYS49152,136*256,51200,1000 1570 RETURN 1580 REM --- CLEAR SID CHIP --- 1590 FORI=STOS+24:POKEI,.:NEXT:RETURN 1600 REM --- BLIP --- 1610 POKES+1,PT:POKES+5,75:POKES+6,0 1620 POKES+24,15:POKES+4,33 1630 FORDE=1TO50:NEXT:POKES+4,32:RETURN 1640 REM --- UP/DOWN --- 1650 POKES+1,0:POKES+6,252:POKES+24,15 1660 FORI=2TO254STEP2 1670 POKES+1,I:POKES+4,17 1680 NEXT 1690 FORI=252TO2STEP-2 1700 POKES+1,I:POKES+4,17 1710 NEXT 1720 POKES+4,32:RETURN 1730 REM --- WINNER --- 1740 FORI=1TO3:FORJ=1TO3 1750 POKES+5,62:POKES+6,48:POKES+24,15 1760 POKES+1,J*3+6:POKES,54 1770 POKES+4,33:FORDE=1TO108:NEXT 1780 POKES+4,32::FORDE=1TO10:NEXT 1790 NEXT:NEXT:RETURN 1800 REM --- TITLE MUSIC --- 1810 POKES+24,15:POKES+5,9:POKES+6,192:POKES+3,8:DE=TI 1820 IFDE>TITHEN1820 1830 POKES+4,64:READJ:IFJ=-1THEN1850 1840 READR,C:POKES+1,R:POKES,C:DE=DE+J*9:POKES+4,65:GOTO1820 1850 POKES+4,0:RETURN 1860 REM --- INITIALIZE --- 1870 DIMI,J,F,R,C,X,G,PT,RT,DE,M1,M2,M3,ER,A$,R$,F$ 1880 DV=PEEK(186):IFDV<8THENDV=8 1890 S=54272:JY=56320:X=RND(-TI) 1900 DIMM$(7),V$(7),SO(7),SC(7),R$(7),G(3,7),M(3,7) 1910 FORI=1TO7:READM$(I):NEXT 1920 FORI=1TO7:READV$(I):NEXT 1930 FORI=.TO7:READSO(I):NEXT 1940 FORI=.TO7:READSC(I):NEXT 1950 FORI=1TO7:READR$(I):NEXT 1960 FORR=1TO3:FORC=1TO7:G(R,C)=C:M(R,C)=C:NEXT:NEXT 1970 FORR=1TO3:FORC=1TO7 1980 I=INT(RND(1)*7+1):J=M(R,C):M(R,C)=M(R,I):M(R,I)=J 1990 NEXT:NEXT 2000 GOSUB1590:IFPEEK(53264)THEN30 2010 REM --- TITLE SCREEN --- 2020 POKE56578,PEEK(56578)OR3 2030 POKE56576,(PEEK(56576)AND252) 2040 POKE53272,(PEEK(53272)AND15)OR32 2050 POKE53272,(PEEK(53272)AND240)OR12 2060 POKE648,200:POKE53269,0 2070 PRINT"[147]":POKE53265,PEEK(53265)OR64 2080 POKE53281,.:POKE53280,.:POKE53282,7:POKE53283,10 2090 POKE52216,56:POKE52217,57:POKE52218,58 2100 POKE52219,56:POKE52220,59:POKE52221,60 2110 POKE53287,4:POKE53288,9:POKE53289,10:POKE53290,4:POKE53291,9:POKE53292,10 2120 FORI=53248TO53252STEP2:POKEI,52:NEXT 2130 POKE53249,66:POKE53251,82:POKE53253,82 2140 POKE53254,35:POKE53256,36:POKE53258,36 2150 POKE53255,66:POKE53257,82:POKE53259,82 2160 PRINTTAB(15)"[144][160][204][207][193][196][211][212][193][210][160]" 2170 PRINTTAB(15)"[160][208][210][197][211][197][206][212][211][160]" 2180 POKE53264,56:POKE53269,63 2190 PRINTTAB(13)"PIERRE K. MORT" 2200 PRINTTAB(8)"(THE DISCOUNT DETECTIVE)" 2210 PRINTTAB(19)"[159]IN" 2220 PRINT" __^]__" 2230 PRINT" ______ __ __ ____^ ____^ _____ ____^" 2240 PRINT" ______ __ __ __ __ __ __ __$$ __ __" 2250 PRINT" ______ __ __ ____\ __ __ __## ____\" 2260 PRINT" __[\__ [___\ __[_^ ____\ _____ __[_^" 2270 PRINTTAB(11)"[158]#_# _ _^]_ _%# _%%" 2280 PRINTTAB(11)" _ _ _[\_ _&$ &&_" 2290 PRINT"[129] ]___^" 2300 PRINT" __ ## _____ __ __ _____ __^__ __" 2310 PRINT" [___^ __$$ __ __ __$$ _____ __" 2320 PRINT" $$ __ __## [_ _\ __## _____" 2330 PRINT" [___\ _____ [_\ _____ __[__ __" 2340 PRINTTAB(13)"[144] CREATED BY " 2350 PRINTTAB(13)" ANTHONY ROSE " 2360 FORDE=.TO300:NEXT:GOSUB1810 2370 IF(PEEK(JY)AND16)ANDPEEK(197)=64THEN2370 2380 GOTO30 2390 REM --- THE KILLERS --- 2400 DATA"[196][197][198][199][157][157][157][157][150][164][165][166][167][157][157][157][157]DEFG" 2410 DATA"[200][201][202][203][157][157][157][157][168][150][169][170][171][157][157][157][157][150]HIJK" 2420 DATA"[150][204][205][206][207][157][157][157][157][172][173][174][175][157][157][157][157]LMNO" 2430 DATA"[208][209][210][211][157][157][157][157][149][176][177][178][179][157][157][157][157]PQRS" 2440 DATA"[129][212][150][213][214][129][215][157][157][157][157][180][150][181][182][129][183][157][157][157][157]T[150]UV[129]W" 2450 DATA"[216][217][218][219][157][157][157][157][184][150][185][186][187][157][157][157][157][150]XYZ[" 2460 DATA"[129][220][221][255][223][157][157][157][157][188][150][189][190][129][191][157][157][157][157][150]\]^_" 2470 REM --- THE VICTIMS --- 2480 DATA"[129]$%&'[157][157][157][157][196][150][197][198][129][199][157][157][157][157][164][150][165][166][129][167]" 2490 DATA"()*+[157][157][157][157][200][150][201][202][203][157][157][157][157][168][150][169][170][171]" 2500 DATA"[158],-./[157][157][157][157][204][150][205][206][158][207][157][157][157][157][172][150][173][174][158][175]" 2510 DATA"0123[157][157][157][157][208][149][209][210][211][157][157][157][157][176][149][177][178][179]" 2520 DATA"[158]4567[157][157][157][157][212][150][213][214][158][215][157][157][157][157][180][150][181][182][158][183]" 2530 DATA"89:;[157][157][157][157][216][150][217][218][219][157][157][157][157][184][150][185][186][187]" 2540 DATA"[149]<=>?[157][157][157][157][220][150][221][255][149][223][157][157][157][157][188][150][189][190][149][191]" 2550 REM --- SPRITE ON --- 2560 DATA1,2,4,8,16,32,64,128 2570 REM --- SPRITE COLORS --- 2580 DATA1,2,8,4,6,7,14,9 2590 REM --- RATINGS --- 2600 DATA" PEERLESS PRIVATE EYE! " 2610 DATA" SUPERIOR SLEUTH! " 2620 DATA" INTUITIVE INVESTIGATOR!" 2630 DATA" CAPABLE CRIMESOLVER! " 2640 DATA" INADEQUATE INSPECTOR! " 2650 DATA" CONFUSED CONSTABLE! " 2660 DATA" DISCOUNT DETECTIVE! " 2670 REM --- MUSIC --- 2680 DATA8,11,48,12,10,143,4,9,104,4,10,143,4,11,48,12,13,78 2690 DATA4,14,24,12,8,97,-1 2700 REM --- INSTRUCTIONS --- 2710 GOSUB1510:POKE53280,2:POKE53281,2 2720 POKE53269,.:PRINT"[147]"; 2730 PRINTTAB(15)"[158]THE STORY" 2740 PRINT"LAST WEEK SEVEN WOMEN WERE MURDERED BY" 2750 PRINT"SEVEN DIFFERENT KILLERS USING SEVEN" 2760 PRINT"DIFFERENT METHODS. THE PROBLEM IS THAT" 2770 PRINT"THE BOYS DOWN AT SCOTLAND YARD MUST" 2780 PRINT"HAVE BEEN ASLEEP ON THE JOB. BECAUSE" 2790 PRINT"NOW WE DON'T KNOW WHO MURDERED WHOM, ON" 2800 PRINT"WHAT DAY, OR WITH WHAT!" 2810 PRINT"WHAT WE NEED IS A CAPABLE CRIMESOLVER!" 2820 PRINT"AN INTUITIVE INVESTIGATOR! A SUPERIOR" 2830 PRINT"SLEUTH! A PEERLESS PRIVATE EYE! WHO WE" 2840 PRINT"REALLY NEED IS YOUR INFAMOUS COUSIN -" 2850 PRINT"INSPECTOR CLAUDE LA MORT!" 2860 PRINT"UNFORTUNATELY, WHAT WITH ALL THE RECENT" 2870 PRINT"CUTBACKS, WE JUST DON'T HAVE SUFFICIENT" 2880 PRINT"FUNDS TO HIRE THE INSPECTOR. WHICH IS" 2890 PRINT"WHY WE HAVE DECIDED TO TURN TO YOU -" 2900 PRINT"PIERRE K. MORT, BETTER KNOWN AS..." 2910 PRINT"THE DISCOUNT DETECTIVE!!!" 2920 PRINTTAB(8)"[158]PRESS ANY KEY TO CONTINUE" 2930 IF(PEEK(JY)AND16)ANDPEEK(197)=64THEN2930 2940 GOSUB1610 2950 PRINT"[147]"TAB(15)"[158]DIRECTIONS" 2960 PRINT"FOR EACH OF THE SEVEN MURDERS LINE UP" 2970 PRINT"FROM TOP TO BOTTOM:" 2980 PRINT"1. THE KILLER" 2990 PRINT"2. HIS VICTIM" 3000 PRINT"3. THE WEAPON OR OBJECT USED" 3010 PRINT"ALSO, EACH MURDER MUST BE PLACED LEFT" 3020 PRINT"TO RIGHT IN THE ORDER IT OCCURRED." 3030 PRINT"USE EITHER A JOYSTICK IN PORT 2 OR THE" 3040 PRINT"CURSOR KEYS TO MOVE THE WHITE SQUARE" 3050 PRINT"UNDERNEATH WHATEVER YOU WANT TO CHANGE," 3060 PRINT"THEN PRESS FIRE OR RETURN." 3070 PRINT"WHEN YOU WANT TO GUESS PRESS (G). FOR" 3080 PRINT"EACH MURDER WHERE YOU HAVE ALL 3 IN THE" 3090 PRINT"RIGHT PLACE, A BOX WILL BE FILLED RED" 3100 PRINT"AT THE BOTTOM OF THE SCREEN. IF YOU" 3110 PRINT"HAVE 2 OUT OF 3 IN THE RIGHT PLACE, A" 3120 PRINT"BOX WILL BE FILLED YELLOW." 3130 PRINTTAB(8)"[158]PRESS ANY KEY TO CONTINUE" 3140 IF(PEEK(JY)AND16)ANDPEEK(197)=64THEN3140 3150 GOSUB1610 3160 PRINT"[147]"TAB(15)"[158]DIRECTIONS" 3170 PRINT"A 3RD POSSIBILITY: YOU HAVE ALL 3 LINED" 3180 PRINT"UP TOP TO BOTTOM, BUT NOT IN THE RIGHT" 3190 PRINT"ORDER LEFT TO RIGHT. IN THIS CASE A BOX" 3200 PRINT"WILL BE FILLED GREEN." 3210 PRINT"YOU MUST SOLVE ALL 7 MURDERS TO WIN THE" 3220 PRINT"GAME. EVERY TIME YOU PRESS (G) WITHOUT" 3230 PRINT"HAVING DONE SO, WILL COUNT AS 1 MOVE." 3240 PRINT"IF YOU CAN WIN THE GAME IN 30 MOVES OR" 3250 PRINT"LESS, YOUR RATING WILL BE THAT OF A" 3260 PRINTCHR$(34)"PEERLESS PRIVATE EYE"CHR$(34)". AFTER YOUR 30TH" 3270 PRINT"MOVE YOUR RATING WILL GO DOWN AND" 3280 PRINT"CONTINUE TO DROP FOR EVERY ADDITIONAL" 3290 PRINT"10 MOVES. THE LOWEST RATING POSSIBLE IS" 3300 PRINTCHR$(34)"DISCOUNT DETECTIVE"CHR$(34)"." 3310 PRINT"IF YOU WANT TO QUIT PRESS (Q) TO EITHER" 3320 PRINT"START OVER OR RETURN TO LOADSTAR." 3330 PRINT"GOOD LUCK PIERRE!" 3340 PRINTTAB(8)"[158]PRESS ANY KEY TO CONTINUE" 3350 IF(PEEK(JY)AND16)ANDPEEK(197)=64THEN3350 3360 GOSUB1610:POKE53281,.:POKE53280,. 3370 GOSUB1550:POKE53269,255:POKE198,0:RETURN 10000 OPEN15,8,15,"S0:MTS.GAME":CLOSE15:SAVE"MTS.GAME",8:END