Compucolor.org – Virtual Media

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

0 REM  BLACKBOX @ PARKER BROS.
1 REM  CONVERTED TO COMPUCOLOR II BY R.B.HOLLEY & JERRY HAYNES
2 REM  3/1/80 REVISED 12/80 @ R.B.HOLLEY
3 REM  P.O.BOX 3437, BAYTOWN, TEX. 77520
10 REM  INSTRUCTIONS
11 PLOT 12,14,6,5:PRINT TAB( 15);"DO YOU WISH INSTRUCTIONS ";:INPUT Z$
12 IF LEFT$ (Z$,1)= "Y"THEN GOSUB 1500
15 GOSUB 1250
20 REM INITIALIZATION
21 DIM S(100),G$(32),G(5):J$= " "
25 PLOT 12,15,27,11:FOR I= 1TO 32:G$(I)= "**":NEXT I
26 FOR I= 1TO 100:S(I)= 0:NEXT I
27 T1= 0:NT= 0:SC= - 2:GS= 1:Z$= "H*":C$= "R*"
30 L= PEEK (33209):IF L= 0THEN 30
31 L= RND (- L)
35 J= 33:K= 8:GOSUB 1000
37 REM  PRINT BOX
39 PLOT 3,16,2:FOR I= 1TO 8:PRINT G$(I);" ";:NEXT I:EX= 0
40 PLOT 3,15,4,6,6:PRINT " 1  2  3  4  5  6  7  8 "
50 FOR I= 1TO 8
55 J= J- 1:K= K+ 1
59 PRINT TAB( 9);:PLOT 6,2:PRINT G$(J);:PLOT 6,6:PRINT J;" ";
60 PLOT 6,33:PRINT " `  `  `  `  `  `  `  ` ";
61 PLOT 6,6:PRINT K;:PLOT 6,2:PRINT " ";G$(K)
62 PLOT 6,33,3,15,4+ 2* I:PRINT "                        ":PLOT 6,2
65 NEXT I
70 PLOT 6,6:PRINT TAB( 16)"24 23 22 21 20 19 18 17":PLOT 6,2
71 PRINT :PRINT TAB( 16);
80 FOR I= 1TO 8:PRINT G$(25- I);" ";:NEXT I
81 PRINT
82 REM  PROMPTS
85 T1= T1+ 1:IF T1> 1THEN 100
90 PLOT 3,0,25,6,5:INPUT "HOW MANY BALLS DO YOU WANT THE COMPUTER TO HIDE 4 OR 5 ? ";N
91 PLOT 28,11:IF N> 5OR N< 4THEN 90
95 GOSUB 200
100 PLOT 3,0,24,11,3,0,24,6,7:PRINT "DO YOU NOW KNOW WHERE THE ";:PLOT 6,66:PRINT N;
101 PLOT 6,7:INPUT " BALLS ARE? ";G$
105 IF G$= "Y"THEN 400
120 PLOT 6,1,3,0,24,11,3,0,24:INPUT "WHAT NUMBER DO YOU WISH TO GUESS (1-32)? ";GS
124 REM  PROGRAM CORE
125 IF GS< 1OR GS> 32THEN PLOT 6,7,11:PRINT "DUMMY!..1-32 ONLY!":GOTO 120
130 IF GS= > 1AND GS< = 8THEN X= 10:Y= GS+ 11:Z= 1
135 IF GS= > 9AND GS< = 16THEN X= - 1:Y= (GS- 9)* 10+ 19:Z= 10
140 IF GS= > 17AND GS< = 24THEN X= - 10:Y= (GS+ 58)+ 2* (24- GS):Z= 1
145 IF GS= > 25AND GS< = 32THEN X= 1:Y= 82- (10* (GS- 25)):Z= 10
150 IF S(Y)= 3THEN G$(GS)= Z$:GOTO 35
160 IF S(Y- Z)= 1THEN G$(GS)= C$:GOTO 35
170 IF S(Y+ Z)= 1THEN G$(GS)= C$:GOTO 35
175 GOTO 250
200 FOR K1= 1TO N
210 G(K1)= INT ((90- 11)* RND (1)+ 11)
220 IF G(K1)/ 10= INT (G(K1)/ 10)THEN 210
221 IF (G(K1)- 1)/ 10= INT ((G(K1)- 1)/ 10)THEN 210
224 S(G(K1))= 1:NEXT K1
230 RETURN
250 Y= Y+ X
251 GOSUB 800
252 IF EX= 1THEN 35
255 IF S(Y)= 1THEN G$(GS)= Z$:GOTO 35
270 IF S(Y- Z)= 1THEN IF S(Y+ Z)= 1THEN G$(GS)= C$:GOTO 35
280 IF S(Y- Z)= 1THEN Y= Y- X:GOTO 500
290 IF S(Y+ Z)= 1THEN Y= Y- X:GOTO 700
295 GOSUB 800
296 IF EX= 1THEN 35
300 GOTO 250
400 REM  PRINT IDENTIFICATION GRID
410 PLOT 6,1,3,15,5
420 PRINT " 12 13 14 15 16 17 18 19"
430 PLOT 11,3,15,7:PRINT " 22 23 24 25 26 27 28 29"
440 PLOT 11,3,15,9:PRINT " 32 33 34 35 36 37 38 39"
450 PLOT 11,3,15,11:PRINT " 42 43 44 45 46 47 48 49"
460 PLOT 11,3,15,13:PRINT " 52 53 54 55 56 57 58 59"
470 PLOT 11,3,15,15:PRINT " 62 63 64 65 66 67 68 69"
472 PLOT 11,3,15,17:PRINT " 72 73 74 75 76 77 78 79"
473 PLOT 11,3,15,19:PRINT " 82 83 84 85 86 87 88 89"
474 PLOT 11:IF N= 5THEN 478
475 PLOT 6,2,3,0,24,11,3,0,24:PRINT "WHAT ARE YOUR 4 GUESSES 12-89":FOR I= 1TO 4
476 PLOT 11:PRINT "GUESS #";I;" ";:INPUT T(I):NEXT
477 G= 0:GOTO 480
478 PLOT 3,0,24,11,3,0,24:PRINT "WHAT ARE YOUR 5 GUESSES 12-89";:FOR I= 1TO 5:GOTO 476
480 PLOT 6,3:PRINT "THE BALLS WERE HIDDEN AT:"
482 PLOT 6,7:FOR I= 1TO N:PRINT G(I),:NEXT I
483 PRINT
485 GOSUB 1100
490 PLOT 6,5:PRINT "YOUR SCORE IS: ";SC;:GOSUB 1400
495 PLOT 6,1:INPUT "DO YOU WISH TO TRY AGAIN (Y/N) ? ";A$
496 IF A$= "Y"THEN 25
497 LOAD "MENU":RUN
500 GOSUB 800
510 IF EX= 1THEN 35
520 IF X= 10THEN X= 1:Z= 10:GOTO 560
530 IF X= - 1THEN X= 10:Z= 1:GOTO 560
540 IF X= - 10THEN X= 1:Z= 10:GOTO 560
550 IF X= 1THEN X= 10:Z= 1
560 GOSUB 800
570 IF EX= 1THEN 35
580 GOTO 250
700 GOSUB 800
710 IF EX= 1THEN 35
720 IF X= 10THEN X= - 1:Z= 10:GOTO 760
730 IF X= - 1THEN X= - 10:Z= 1:GOTO 760
740 IF X= - 10THEN X= - 1:Z= 10:GOTO 760
750 IF X= 1THEN X= - 10:Z= 1
760 GOSUB 800
770 IF EX= 1THEN 35
780 GOTO 250
800 REM  EXIT
810 IF Y= > 1AND Y< = 10AND X= - 10THEN 870
820 IF Y/ 10= INT (Y/ 10)AND X= 1THEN 890
830 IF (Y- 1)/ 10= INT ((Y- 1)/ 10)AND X= - 1THEN 910
840 IF Y= > 92AND Y< = 99AND X= 10THEN 930
850 EX= 0:RETURN
870 G$(GS)= RIGHT$ (STR$ (Y- 1),2):G$(Y- 1)= RIGHT$ (STR$ (GS),2)
880 EX= 1:RETURN
890 G$(GS)= RIGHT$ (STR$ ((Y/ 10)+ 7),2):G$((Y/ 10)+ 7)= RIGHT$ (STR$ (GS),2)
900 EX= 1:RETURN
910 G$(GS)= RIGHT$ (STR$ (24+ (91- Y)/ 10),2)
915 G$(24+ (91- Y)/ 10)= RIGHT$ (STR$ (GS),2)
920 EX= 1:RETURN
930 G$(GS)= RIGHT$ (STR$ (17+ (99- Y)),2)
935 G$(17+ (99- Y))= RIGHT$ (STR$ (GS),2)
940 EX= 1:RETURN
1000 IF G$(GS)= Z$THEN SC= SC+ 1:RETURN
1010 IF G$(GS)= C$THEN SC= SC+ 1:RETURN
1020 SC= SC+ 2:RETURN
1100 IF N= 5THEN 1150
1110 FOR I= 1TO 4
1115 IF G(I)= T(1)OR G(I)= T(2)OR G(I)= T(3)OR G(I)= T(4)THEN 1125
1120 NEXT I
1123 GOTO 1130
1125 NT= NT+ 1:NEXT I
1130 GOTO 1190
1150 FOR I= 1TO 5
1155 IF G(I)= T(1)OR G(I)= T(2)OR G(I)= T(3)OR G(I)= T(4)OR G(I)= T(5)THEN 1165
1160 NEXT I
1163 GOTO 1190
1165 NT= NT+ 1:NEXT I
1190 IF NT= NTHEN RETURN
1195 SC= SC+ (10* (N- NT))
1200 RETURN
1250 PLOT 6,48,12,14,3,20,16:PRINT " BLACKBOX @"
1285 FOR I= 1TO 2500:NEXT I
1290 PLOT 6,2,12:RETURN
1400 REM  RATING
1405 PLOT 6,67
1410 IF SC= < 8THEN PRINT " OUTSTANDING":GOTO 1450
1415 IF SC= < 10THEN PRINT " VERY GOOD":GOTO 1450
1420 IF SC= < 14THEN PRINT " GOOD.!":GOTO 1450
1425 IF SC= < 20THEN PRINT " FAIR..":GOTO 1450
1430 IF SC= < 25THEN PRINT " POOR UGH!":GOTO 1450
1435 PRINT " VERY POOR!!":GOTO 1450
1450 PLOT 6,2:RETURN
1500 REM  SUB INSTR.
1510 PLOT 12,14,6,60,11:PRINT TAB( 20);" INSTRUCTIONS ":PLOT 6,2:PRINT :PRINT
1520 PLOT 15:PRINT " THE OBJECT OF BLACKBOX IS TO FIND A NUMBER OF HIDDEN BALLS."
1530 PRINT "THE COMPUTER WILL PLACE THE BALLS ON AN 8X8 GRID AND YOU MUST"
1535 PRINT "FIND THE HIDDEN LOCATIONS BY SENDING 'RAYS' INTO THE GRID"
1540 PRINT "TO OBTAIN CLUES. "
1545 PLOT 6,1:PRINT "RAYS:";:PLOT 6,2:PRINT " RAYS ARE ORIGINATED AT 32 LOCATIONS FOUND ON THE"
1550 PRINT "PERIMETER OF THE GRID. AFTER ENTERING THE POINT(1-32) FROM"
1555 PRINT "WHICH YOU WISH TO 'SHOOT' A RAY, THE COMPUTER WILL RESPOND"
1560 PRINT "WITH ONE OF THREE CLUES.":PLOT 6,1:PRINT "'H': HIT";:PLOT 6,6
1565 PRINT " THE RAY HAS ENTERED THE GRID AND 'HIT' A HIDDEN BALL."
1570 PLOT 6,3:PRINT "'R': REFLECTION";:PLOT 6,6
1575 PRINT " THE RAY HAS BEEN CAUSED TO DETOUR BY A NEARBY"
1580 PRINT "BALL AND HAS EXITED THE GRID AT THE POINT AT WHICH IT ENTERED."
1585 PLOT 6,2:PRINT "IF THE POINT FROM WHICH YOU 'SHOOT' A RAY IS REPLACED"
1590 PRINT "WITH A NUMBER(1-32), THEN THE RAY HAS MISSED OR BEEN DETOURED"
1595 PRINT "AND EXITS AT ANOTHER LOCATION ON THE PERIMETER."
1600 PRINT :PLOT 6,5:PRINT " THE ABOVE ISTRUCTIONS SHOULD BE SUFFICENT TO USE THIS"
1610 PRINT "PROGRAM PROVIDED YOU ARE FAMILIAR WITH THE @PARKER BROS."
1615 PRINT "BOARD VERSION. IT IS SUGGESTED THAT YOU USE THE GRID-BOX"
1620 PRINT "SUPPLIED WITH THE PARKER BROS. PACKAGE TO ASSIST YOUR ATTEMPTS."
1625 PRINT :PLOT 6,1:INPUT "ENTER TO CONTINUE";A:RETURN