A murder has been committed and the perpetrator has threatened to strike again! It is up to you to uncover the two pieces of evidence which will identify the murderer before he can carry out his threat.
The game consists of searching the 4 rooms in the building where the crime occurred for the incriminating weapon and fingerprints. Your initial location is randomly selected as are the locations of the gun and the prints. The amount of time allocated to you ranges from 6 to 30 minutes. To remain in your current position or to move in either a clockwise or counter clockwise direction requires from 1 to 5 minutes. A diagonal move can take from 2 to 9 minutes.
To search for one piece of evidence requires from 1 to 5 minutes; to search for both requires from 2 to 9 minutes. If your allotted time drops below 6 minutes one of your associates may search a room for you and declare it “clean” and therefore you do not have to search it yourself, although you already may have done so.
If you run out of time, the locations of the fingerprints and the gun are displayed. If you locate the evidence, the amount of time remaining is printed.
The program is loaded in three sections. First, an array of 72 print characters is set up. This array contains the floor plan display.
1000 DIM A(71)
1010 FOR I = 0 TO 71
1020 IF (I/12) * 12 = I THEN CLS
1030 PRINT I + 1,
1040 INPUT K
1050 LET A(I) = K
1060 PRINT A(I)
1070 NEXT I
Run this portion of the program and input the 72 character codes listed below. If you make an error in entering the values, you can either rerun the routine or correct individual entries with a LET statement (e.g., LET A(O) = 135).
135,131,131,131,131,131,131,131,131,131,131,134
2, 0, 30, 0, 0, 0, 0, 0, 0, 31, 0,130
133, 3, 0, 3,132, 0, 0,133, 3, 0, 3,132
2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,130
2, 0, 29, 0, 0, 0, 0, 0, 0, 32, 0,130
133, 3, 3, 3,132, 0, 0,133, 3, 3, 3,132
After the first portion has been run, delete lines 1010 to 1070 inclusive and enter the following lines:
170 LET K = 0
180 FOR I = 1 TO 6
190 FOR J = 1 TO 12
200 PRINT (CHR$(A(K));
210 LET K = K + 1
220 NEXT J
230 PRINT
240 NEXT I
250 STOP
Key GO TO 170 and NEWLINE and check the display. If it requires correction use a LET statement as above. If the display is functioning properly, it would be a good idea to save the partial program at this point.
Now enter the main body of the program:
100 RANDOMISE
110 LET G = RND(4) LOCATION OF GUN
120 LET P = RND(4) LOCATION OF PRINTS
130 LET R = RND(4) STARTING ROOM
140 LET M = RND(25) + 5 AMOUNT OF TIME
150 LET GF = 0 GUN FOUND SWITCH
160 LET PF = 0 PRINTS FOUND SWITCH
250 PRINT "ROOM=";R,"TIME=";M
260 LET Q = RND(5) TIME FOR CIRCULAR MOVE
270 PRINT "SEARCH?"
280 INPUT Y$
290 IF Y$ = "N" THEN GO TO 470
300 PRINT "1-GUN"
302 PRINT "2-PRINTS"
304 PRINT "3-BOTH"
310 INPUT F
320 LET M = M - Q
330 IF F = 3 THEN LET M = M - G
340 IF M < 0 THEN GO TO 600
350 IF F = 2 THEN GO TO 430
380 IF NOT G = R THEN GO TO 420 CHECK FOR GUN
390 LET GF = -1
400 PRINT "GUN FOUND"
420 IF F = 1 THEN GO TO 460
430 IF NOT P = R THEN GO TO 460 CHECK FOR PRINTS
440 LET PF = -1
450 PRINT "PRINTS FOUND"
460 IF GF AND PF THEN GO TO 700
470 LET T = RND(4)
480 IF M < 6 AND NOT (T = G OR T = P OR T = R) THEN PRINT
T;" CLEAN"
490 PRINT "ROOM?"
500 INPUT S
510 IF S < 1 OR S > 4 THEN GO TO 500
520 CLS
530 LET M = M - Q
540 IF ABS(S - R) = 2 THEN LET M = M - G
550 IF M < 0 THEN GO TO 600
560 LET R = S
570 GO TO 170
600 PRINT "OUT OF TIME"
610 PRINT "G:";G,"P:";P
620 STOP
700 PRINT "TIME=";M
To run, key GOTO 100. Do not use RUN.
Delete line 1000 and save the program. To execute, key GO TO 100 rather than RUN as the latter will clear the print codes stored in array “A”. This program could easily be altered in order to create other “Search and Find” games. By changing the names of the articles to be searched for and by setting up an appropriate display for the top of the screen this program could be used as a basis for a “treasure hunt,” “spy” or similar game where it is necessary to locate something that is hidden.
Sample Run
+----------+
| 2 3 |
|- -- -- -|
| 1 4 |
+---- ----+
ROOM=4 TIME=24
SEARCH?
( 'Y' - N/L)
1-GUN
2-PRINTS
3-BOTH
( '3' - N/L)
GUN FOUND
ROOM?
( '1' - N/L)
.
.
.
ROOM=2 TIME=5
SEARCH?
( 'Y' - N/L)
1-GUN
2-PRINTS
3-BOTH
( '2' - N/L)
1 CLEAN
ROOM?
( '3' - N/L)
OUT OF TIME
G:4 P:3
+----------+
| 2 3 |
|- -- -- -|
| 1 4 |
+---- ----+
ROOM=2 TIME=16
SEARCH?
( 'Y' - N/L)
1-GUN
2-PRINTS
3-BOTH
( '3' - N/L)
GUN FOUND
PRINTS FOUND
TIME=8
Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.