Compucolor.org – Virtual Media

Listing of file='CLEWSO.BAS;01' on disk='vmedia/chip_8-sector.ccvf'

20 REM ***************************
30 REM *                         *
40 REM *    INSPECTOR CLEW-SO    *
50 REM *                         *
60 REM *    BY: RON CARLSON      *
70 REM *    FEB. 1979            *
80 REM ***************************
90 FOR I= 1TO 5:READ S$(I):NEXT I
92 DATA "BILL","MARY","PAUL","SUZY","JOHN"
100 FOR I= 1TO 6:READ R$(I):NEXT I
102 DATA "LOUNGE","ATRIUM","LIVING","DINING","TROPHY","GARAGE"
210 PLOT 12,15,27,11,29,18,30,16:PRINT "BILL, MARY, JOHN, SUZY AND PAUL ARE HOUSE GUESTS.  THEIR HOST"
220 PRINT "  WAS MURDERED BY ONE OF THEM BETWEEN 1 P.M. AND 9 P.M."
230 PRINT "  YOUR JOB AS INSPECTOR CLEW-SO, IS TO FIND THE KILLER,"
231 PRINT "  TIME & ROOM."
233 PLOT 10
240 PRINT "YOU WILL BE GIVEN A HOUSE DIAGRAM AND A SET OF QUESTIONS"
250 PRINT "  FOR THE SUSPECTS, BUT THE GUILTY PERSON MAY TRY TO MISLEAD"
260 PRINT "  YOU BY LYING SOME OF THE TIME."
262 PLOT 10
270 PRINT "IF ONE OF THE SUSPECTS CLAIM THAT THE HOST WAS ALREADY DEAD,"
280 PRINT "  OR THAT THE HOST WAS STILL ALIVE, THEN YOU HAVE FOUND THE"
290 PRINT "  ROOM WHERE THE MURDER TOOK PLACE."
299 PLOT 10,10
300 PRINT "HIT ANY KEY TO DISPLAY FLOORPLAN.";
301 X= RND (1):IF PEEK (33279)= 0GOTO 301
302 PLOT 10,10,29,20,30,18
310 H= 0:HM= 0:HR= 0:HT= 0
320 C= 0
330 C1= 0
340 GOSUB 5000
452 PLOT 10,10,29,17,30,16
460 FOR K= 1TO 5
470 P(K,1)= INT (6* RND (K))+ 1
480 NEXT K
490 FOR L= 2TO 9
500 FOR K= 1TO 5
510 A= INT (6* RND (K))+ 1
520 IF A= P(K,L- 1)THEN 510
530 P(K,L)= A
540 NEXT K
550 NEXT L
560 REM  ESTABLISHED SUSPECT'S MOVEMENTS
570 REM  RANDOM ASSIGNMENT OF KILLER, TIME AND ROOM
580 M= INT (5* RND (1))+ 1
590 T= INT (9* RND (2))+ 1
600 R= P(M,T)
610 INPUT "INSPECTOR CLEW-SO, WHO IS YOUR SUSPECT? ";S1$
620 PLOT 10:IF LEN (S1$)> 1THEN 640
630 GOSUB 5000:GOTO 610
640 GOSUB 2000:IF S= 0THEN 610
650 PRINT "DO YOU WISH TO QUESTION ";S1$;" ABOUT:"
660 PRINT "   1   - THE SUSPECT'S WHEREABOUTS AT A PARTICULAR TIME"
670 PRINT "   2   - WHAT TIME THE SUSPECT WAS IN A CERTAIN ROOM"
680 INPUT "   3   - THE CRIME IS SOLVED! ---";A
682 PLOT 10:IF A= 0THEN 610
690 IF A< 1OR A> 3THEN 650
700 C= C+ 1
710 ON AGOTO 730,1000,1200
720 REM TIME SECTION
730 PRINT S1$;:INPUT ", WHERE WERE YOU AT ";T1
740 PLOT 10:IF T1= 0THEN C= C- 1:GOTO 650
750 IF T1< 1OR T1> 9THEN 730
760 R1= P(S,T1)
770 IF S< > MTHEN 860
780 REM  LIAR SECTION
790 IF RND (2)< .5THEN 910
800 R1= INT (6* RND (3))+ 1
802 IF R1< > RTHEN 910
810 IF RND (4)< .5THEN 840
820 PRINT "THE HOST WAS ALREADY DEAD."
830 GOTO 910
840 PRINT "OUR HOST WAS STILL ALIVE."
850 GOTO 910
860 IF R1= RTHEN 880
870 GOTO 910
880 IF RND (5)< .5THEN 910
890 IF T1< TTHEN PRINT "THE HOST WAS STILL ALIVE."
900 IF T1> TTHEN PRINT "THE HOST WAS ALREADY DEAD."
910 PRINT "I WAS IN THE ";R$(R1);" ROOM."
920 FOR K= 1TO 5
930 IF K= STHEN 960
940 IF P(K,T1)= R1THEN PRINT "I WAS WITH ";S$(K)
950 IF ABS (R1- P(K,T1))= 1THEN PRINT "I SAW ";S$(K)
960 NEXT K
962 PLOT 10
970 GOTO 610
980 REM  ROOM QUESTIONING
1000 PRINT S1$;", WHAT TIME WERE YOU IN THE ";TAB( 39)"ROOM?";
1002 FOR J= 1TO 13:PLOT 26:NEXT J
1004 INPUT " ";R1$
1010 PLOT 10:IF LEN (R1$)= 1THEN C= C- 1:GOTO 650
1020 GOSUB 4000:IF R1= 0THEN 1000
1030 IF S< > MOR R1< > RTHEN 1110:REM IF NOT MURDERER OR NOT MURDER ROOM, TELL THE TRUTH
1040 IF RND (5)< .5THEN 1110
1050 T1= INT (RND (5)* L)+ 1
1060 IF R1= P(M,T1)THEN 1090
1070 PRINT "I WAS NOT IN THAT ROOM."
1072 PLOT 10
1080 GOTO 610
1090 PRINT "I WAS IN THAT ROOM AT ";T1
1092 PLOT 10
1100 GOTO 610
1110 K= 0
1120 FOR B= 1TO 9
1130 IF P(S,B)< > R1THEN 1160
1140 PRINT "I WAS IN THAT ROOM AT ";B
1150 K= 1
1160 NEXT B
1170 IF K= 0THEN PRINT "I WAS NOT IN THAT ROOM."
1172 PLOT 10
1180 GOTO 610
1190 REM  CONFRONTATION SECTION
1200 C1= C1+ 1
1202 C= C- 1:REM  DON'T COUNT THIS AS QUESTION
1204 PLOT 12
1210 PRINT "INSPECTOR, DO YOU THINK YOU KNOW;"
1220 PRINT "  1   KILLER"
1230 PRINT "  2   ROOM"
1240 PRINT "  3   TIME"
1250 INPUT "  4   TOTALLY BAFFLED ---";A
1252 PLOT 10:IF A= 0THEN C1= C1- 1:GOTO 650
1260 ON AGOTO 1270,1420,1350,1550
1262 GOTO 1210
1270 IF HM= 1THEN PLOT 12:GOTO 1529
1272 INPUT "THE KILLER IS? ";S1$
1280 PLOT 10:IF LEN (S1$)= 1THEN 1204
1290 GOSUB 2000:IF S= 0THEN 1272
1292 PLOT 12
1300 IF S1$< > S$(M)THEN 1530
1310 PRINT "YOU HAVE THE KILLER, INSPECTOR CLEW-SO."
1320 PLOT 10:H= H+ 1:HM= 1
1322 HM= 1
1330 IF H= 3THEN 1500
1340 GOTO 610
1350 IF HT= 1THEN PLOT 12:GOTO 1529
1352 INPUT "TIME OF THE MURDER? ";T1
1354 PLOT 10:IF T1= 0THEN 1204
1360 IF T1< 1OR T1> 9THEN 1350
1362 PLOT 12
1370 IF T1< > TTHEN 1530
1380 PRINT "INSPECTOR, YOU HAVE THE RIGHT TIME."
1382 PLOT 10
1390 H= H+ 1
1392 HT= 1
1400 IF H= 3THEN 1500
1410 GOTO 610
1420 IF HR= 1THEN PLOT 12:GOTO 1529
1422 INPUT "ROOM OF THE MURDER? ";R1$
1424 PLOT 10:IF LEN (R1$)= 1THEN 1204
1430 GOSUB 4000
1440 IF R1= 0THEN 1420
1442 PLOT 12
1450 IF R1$< > R$(R)THEN 1530
1460 PRINT "INSPECTOR, YOU NOW HAVE THE ROOM."
1462 PLOT 10
1470 H= H+ 1
1472 HR= 1
1480 IF H< > 3THEN 610
1490 REM  CONFIRMATIONS
1500 PLOT 12:PRINT "YOU ARE BRILLIANT INSPECTOR CLEW-SO!!!"
1502 PLOT 10
1510 PRINT "IT TOOK YOU";C;" QUESTIONS AND";C1;" CONFRONTATIONS"
1512 PLOT 10
1520 GOTO 1590
1529 PRINT "YOU HAVE ALREADY DETERMINED THAT FACT."
1530 PRINT "INSPECTOR CLEW-SO, YOU ARE A BUMBLING IDIOT!  TRY AGAIN!"
1532 PLOT 10
1540 GOTO 610
1550 PLOT 12:PRINT "TOO BAD INSPECTOR CLEW-SO":PLOT 10
1560 PRINT "THE FACTS ARE:"
1562 PLOT 10
1570 PLOT 29,16,30,17:PRINT S$(M);:PLOT 29,17,30,16:PRINT " KILLED THE HOST AT ";:PLOT 29,16,30,17:PRINT T;
1572 PLOT 29,17,30,16:PRINT " O'CLOCK IN THE ";:PLOT 29,16,30,17:PRINT R$(R);:PLOT 29,17,30,16:PRINT " ROOM."
1580 PLOT 10
1590 INPUT "DO YOU WANT A NEW CASE INSPECTOR? ";A$
1600 IF LEFT$ (A$,1)= "Y"GOTO 302
1610 LOAD "MENU":RUN
1999 END
2000 S= 5:REM  SUB TO SEARCH S$ FOR MATCH
2010 IF S$(S)= S1$THEN RETURN
2020 IF S> 1THEN S= S- 1:GOTO 2010
2030 S= 0:RETURN :REM  NO MATCH
2999 END
3000 T1= 9:REM  SUB TO SEARCH POSITION TABLE
3010 IF T1= P(S,T1)THEN RETURN
3020 IF T1> 1THEN T1= T1- 1:GOTO 3010
3030 T1= 0:RETURN :REM  NO MATCH
3999 END
4000 R1= 6:REM  SUB TO SEARCH ROOM TABLE
4010 IF R1$= R$(R1)THEN RETURN
4020 IF R1> 1THEN R1= R1- 1:GOTO 4010
4030 R1= 0:RETURN :REM  NO MATCH
4999 END
5000 PLOT 30,16,12,3,0,30,27,4
5010 PRINT "LOAD CLEWSO.DSP 6000"
5020 PLOT 27,27,30,16
5030 INPUT "HIT RETURN TO CONTINUE THE INVESTIGATION.";Q
5040 PLOT 12
5050 RETURN