home *** CD-ROM | disk | FTP | other *** search
/ Generous Efforts of Many / gemcd.zip / GEM.CD.B.po / GAMES:BASIC.3 / CLEW.SO.bas < prev    next >
BASIC Source File  |  2010-05-14  |  6KB  |  115 lines

  1. 10  DIM S$(5),R$(6),P(5,9)
  2. 20  REM *********************
  3. 30  REM *                   *
  4. 40  REM * INSPECTOR CLEW-SO *
  5. 50  REM *  BY: RON CARLSON  *
  6. 60  REM *    FEB. 1979      *
  7. 70  REM *  ADAPTED BY       *
  8. 75  REM *   DONALD BROWN    *
  9. 80  REM *    MAY 1979       *
  10. 81  REM *                   *
  11. 82  REM *   AS FOUND IN     *
  12. 83  REM *RECREATIONAL       *
  13. 84  REM *  COMPUTING        *
  14. 85  REM *    MAY/JUNE 1979  *
  15. 86  REM *                   *
  16. 87  REM *********************
  17. 90 S$(1) = "BILL":S$(2) = "MARY":S$(3) = "PAUL":S$(4) = "SUZY":S$(5) = "JOHN"
  18. 100 R$(1) = "LOUNGE":R$(2) = "ATRIUM":R$(3) = "LIVING":R$(4) = "DINING":R$(5) = "TROPHY":R$(6) = "GARAGE"
  19. 110  GOTO 160
  20. 120 ZA$ =  LEFT$(ZA$,4): FOR AA = 1 TO 5: IF ZA$ < >S$(AA)  THEN  NEXT :PP = 0: RETURN 
  21. 130 PP = AA: RETURN 
  22. 140 ZA$ =  LEFT$(ZA$,6): FOR AA = 1 TO 6: IF ZA$ < >R$(AA)  THEN  NEXT :PP = 0: RETURN 
  23. 150 PP = AA: RETURN 
  24. 160  HOME : VTAB 2: HTAB 12: INVERSE : PRINT "INSPECTOR CLEW-SO": NORMAL : PRINT : PRINT  TAB( 13);"BY RON CARLSON"
  25. 170  PRINT  TAB( 9);"ADAPTED BY DONALD BROWN": PRINT : PRINT 
  26. 210  PRINT "BILL, MARY, JOHN, SUZY AND PAUL ARE": PRINT "HOUSE GUESTS.  THEIR HOST WAS MURDERED": PRINT "BY ONE OF THEM BETWEEN 1 PM. AND 9 PM."
  27. 220  PRINT "YOUR JOB AS INSPECTOR CLEW-SO IS TO FIND";: PRINT "THE KILLER, TIME, AND ROOM.  YOU WILL": PRINT "BE GIVEN A HOUSE DIAGRAM AND A SET OF"
  28. 230  PRINT "QUESTIONS FOR THE SUSPECTS, BUT THE": PRINT "GUILTY PERSON MAY TRY TO MISLEAD YOU BY": PRINT "LYING SOME OF THE TIME."
  29. 240  PRINT "IF ONE OF THE SUSPECTS CLAIM THAT THE": PRINT "HOST WAS ALREADY DEAD OR THAT THE HOST": PRINT "WAS STILL ALIVE, THEN YOU HAVE FOUND THE";: PRINT "ROOM WHERE THE MURDER TOOK PLACE.": PRINT 
  30. 250  PRINT : PRINT "(HIT ANY KEY TO CONTINUE)";: GET A$: PRINT : HOME 
  31. 260  PRINT "HOUSE DIAGRAM--","O (WINDOWS)"
  32. 310 H = 0:C = 0:C1 = 0: PRINT "!---------------------------!": PRINT "!         !       O GARAGE  !": PRINT "!         O TROPHY!         !": PRINT "! DINING  !---!- -! --      !"
  33. 320  PRINT "!                    !------!": PRINT "!--O----------!     -!      !": PRINT "!                           !--!": PRINT "!             !- ------        !"
  34. 330  PRINT "! LIVING   ---!      !         !": PRINT "!--        !         O LOUNGE  !": PRINT "  !        O  ATRIUM !     ----!"
  35. 340  PRINT "  !--------!---------!-----!"
  36. 350  PRINT : POKE 34, PEEK(37)
  37. 360  VTAB 1: HTAB 33: PRINT "SUSPECTS": FOR AA = 1 TO 5: HTAB 35: PRINT S$(AA): NEXT 
  38. 400  HOME 
  39. 460  FOR K = 1 TO 5:P(K,1) =  INT(6 * RND(1)) +1: NEXT K: FOR L = 2 TO 9: FOR K = 1 TO 5
  40. 510 A =  INT(6 * RND(K)) +1: IF A = P(K,L -1)  THEN 510
  41. 520 P(K,L) = A: NEXT K,L
  42. 560  REM  ESTABLISHED SUSPECT'S
  43. 565  REM   MOVEMENTS
  44. 570  REM  RANDOM ASSIGNMENT OF
  45. 575  REM   KILLER,TIME,ROOM
  46. 580 M =  INT(5 * RND(1)) +1:T =  INT(9 * RND(2)) +1:R = P(M,T)
  47. 610  PRINT : PRINT "INSPECTOR CLEW-SO, WHO DO YOU WANT TO": INPUT "  QUESTION? ";S1$
  48. 615  IF S1$ = "CRIME"  OR  LEFT$(S1$,3) = "SOL"  THEN 1200
  49. 620 ZA$ = S1$: GOSUB 120:S = PP: IF S = 0  THEN 610
  50. 630  HOME 
  51. 640  PRINT "DO YOU WISH TO QUESTION ";S$(S): PRINT "ABOUT--": PRINT "  1 - WHEREABOUTS AT PARTICULAR TIME": PRINT "  2 - TIME SUSPECT IN CERTAIN ROOM"
  52. 680  INPUT "  3 - THE CRIME IS SOLVED -- ";A: IF A <1  OR A >3  OR A < > INT(A)  THEN 630
  53. 700 C = C +1: ON A GOTO 720,990,1200
  54. 720  HOME : PRINT S$(S);", ";
  55. 740  INPUT "WHERE WERE YOU AT ";T1: IF T1 <1  OR T1 >9  THEN 740
  56. 750  PRINT 
  57. 760 R1 = P(S,T1): IF S < >M  THEN 860
  58. 780  REM  LIAR SECTION
  59. 790  IF  RND(2) <.5  THEN 910
  60. 800 R1 =  INT(6 * RND(3)) +1: IF  RND(4) <.5  THEN 840
  61. 820  PRINT "THE HOST WAS ALREADY DEAD.": GOTO 910
  62. 840  PRINT "OUR HOST WAS STILL ALIVE.": GOTO 910
  63. 860  IF R1 < >R  THEN 910
  64. 880  IF  RND(5) <.5  THEN 910
  65. 890  IF T1 <T  THEN  PRINT " THE HOST WAS STILL ALIVE."
  66. 900  IF T1 >T  THEN  PRINT " THE HOST WAS ALREADY DEAD."
  67. 910  PRINT "I WAS IN THE ";R$(R1);" ROOM."
  68. 920  FOR K = 1 TO 5: IF K = S  THEN 960
  69. 940  IF P(K,T1) = R1  THEN  PRINT "I WAS WITH ";S$(K)
  70. 950  IF  ABS(R1 -P(K,T1)) = 1  THEN  PRINT "I SAW ";S$(K)
  71. 960  NEXT K: GOTO 610
  72. 980  REM  ROOM QUESTIONING
  73. 990  HOME : PRINT S$(S);",";
  74. 1000  INPUT "WHEN WERE YOU IN THE ";ZA$:ZA$ =  LEFT$(ZA$,6)
  75. 1010  GOSUB 140:T1 = PP
  76. 1020  IF T1 = 0  THEN 1000
  77. 1025  PRINT 
  78. 1030  IF S < >M  THEN 1110
  79. 1040  IF  RND(5) <.5  THEN 1110
  80. 1050 T1 =  INT( RND(5) *6) +1
  81. 1090  PRINT "I WAS NOT IN THAT ROOM.": GOTO 610
  82. 1110 K = 0: FOR B = 1 TO 9: IF P(S,B) = T1  THEN  PRINT "I WAS IN THAT ROOM AT ";B:K = 1
  83. 1120  NEXT : IF K = 0  THEN  PRINT "I WAS NOT IN THAT ROOM"
  84. 1130  GOTO 610
  85. 1190  REM  CONFRONTATION SECTION
  86. 1200 C1 = C1 +1
  87. 1205  HOME 
  88. 1210  PRINT "INSPECTOR DO YOU THINK YOU KNOW :"
  89. 1220  PRINT "  1  KILLER": PRINT "  2  ROOM": PRINT "  3  TIME": INPUT "  4  TOTALLY BAFFLED ---";A
  90. 1250  IF A <1  OR A >4  OR A < > INT(A)  THEN 1210
  91. 1260  ON A GOTO 1270,1420,1350,1550
  92. 1270  INPUT " THE KILLER IS ? ";ZA$: GOSUB 120: IF PP = 0  THEN 1210
  93. 1280  IF PP < >M  THEN 1530
  94. 1285  VTAB M +2: HTAB 35: INVERSE : PRINT S$(M): NORMAL : HOME 
  95. 1290  PRINT " YOU HAVE THE KILLER, INSPECTOR CLEW-SO":H = H +1: IF H/2 =  INT(H/2)  THEN  PRINT "YOU HAD HIM BEFORE, REMEMBER?":H = H -1
  96. 1300  IF H = 7  THEN 1500
  97. 1340  GOTO 610
  98. 1350  INPUT "TIME OF THE MURDER ";T1: IF T1 <1  OR T1 >9  OR T1 < > INT(T1)  THEN 1210
  99. 1360  IF T1 < >T  THEN 1530
  100. 1370  VTAB 9: HTAB 34: INVERSE : PRINT "TIME:";T1: NORMAL : HOME 
  101. 1380  PRINT " YOU HAVE THE RIGHT TIME.":H = H +2: IF  INT(H/2)/2 =  INT(H/4)  THEN  PRINT "YOU HAD IT BEFORE, DUMMY!":H = H -2
  102. 1390  IF H = 7  THEN 1500
  103. 1400  GOTO 610
  104. 1420  INPUT "ROOM OF THE MURDER?";ZA$: GOSUB 140: IF PP = 0  THEN 1420
  105. 1430  IF PP < >R  THEN 1530
  106. 1435  VTAB 11: HTAB 34: INVERSE : PRINT R$(R): HTAB 35: PRINT "ROOM": NORMAL : HOME 
  107. 1440  PRINT " YOU HAVE THE RIGHT ROOM":H = H +4: IF H >7  THEN  PRINT "I TOLD IT WAS RIGHT THE LAST TIME.":H = H -4
  108. 1450  IF H = 7  THEN 1500
  109. 1470  GOTO 610
  110. 1500  PRINT : PRINT "YOU ARE BRILLIANT, INSPECTOR CLEW-SO": PRINT "IT TOOK YOU ";C;" QUESTIONS AND ";C1: PRINT "   CONFRONTATIONS.": GOTO 1590
  111. 1530  PRINT "INSPECTOR CLEW-SO YOU ARE A BUMBLING      IDIOT.  TRY AGAIN.": PRINT : GOTO 610
  112. 1550  PRINT "TOO BAD INSPECTOR CLEW-SO": PRINT "THE FACTS ARE:": PRINT "  ";S$(M);" KILLED THE HOST": PRINT "   AT ";T;" O'CLOCK IN THE": PRINT "    ";R$(R);" ROOM"
  113. 1590  PRINT : INPUT "DO YOU WANT A NEW CASE?";A$: TEXT : HOME : IF  LEFT$(A$,1) = "Y"  THEN 260
  114. 1600  VTAB 5: PRINT "I HOPE YOU'VE ENJOYED YOURSELF"
  115. 1610  FOR V1 = 1 TO 9000: NEXT : PRINT : PRINT  CHR$(4)"-STARTUP"