Compucolor.org – Virtual Media

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

20 REM * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
24 REM
28 REM *********  MASTERMIND WITH 5 COLUMN CAPABILITY AND THE
32 REM ******   USE OF THE 8 COLOR KEYS. PLAY COMPUTER OR OTHER
36 REM ******   PLAYER.  ALSO CORRECTION CAPABILITY.
40 REM **** BY HARLAN HOWARD. 832 SAN RAFAEL ST. SUNNYVALE, CA.
44 REM * * * * * *  UNIQUE SOUNDWARE BEEP WHEN YOU WIN.
100 S9= 1
110 PLOT  12,6,24,27,89,127,8,15
120 HARD=  4:PRINT :PRINT  "  HARD (1) OR EASY (0)?"
125 PRINT  "   EASY=4 COLORS"
126 INPUT  "   HARD=5 COLORS";Q
127 IF  Q > 1 THEN  PLOT  28,28,28,28,11:GOTO  120
130 IF  Q =  1 THEN HARD =  5
140 GOSUB 2110
150 S9 =  1:FOR  T =  1 TO  60:NEXT  T
160 INPUT  "HOW MANY PLAYERS? (2) OR (1) ";Q
165 IF  Q =  0 OR  Q >  2 THEN  GOTO  160
170 PLOT  6,24,28,11:IF  Q =  1 GOTO 380
180 GOSUB 2480:GOSUB 2670
190 Y= 115:GOTO 210
200 PLOT  12,6,24,27,89,127,15:GOSUB 2110:GOSUB 2730:GOSUB 2710
210 FOR  X =  1 TO  HA:IF  X =  2 THEN PLOT  6,24,28,11:REM  ERASE "ENTER-CODE"
220 GOSUB 790
230 GOTO 260
240 PLOT  3,2,4:PRINT "THAT'S NOT A COLOR "
250 FOR  T =  1 TO  500:NEXT  T:PLOT  6,24,28,11:GOTO 220
260 S= PEEK (33278)
270 IF  S =  26 THEN GOTO 210: REM                  **ERROR CORRECTION**
280 IF S< 16THEN 240
290 IF S> 23THEN 240
300 ON  X GOSUB 830,870,910,950,990
310 NEXT  X
320 A1= A:B1= B:C1= C:D1= D:E1= E
330 REM
340 PLOT  12,6,24,27,89,127,15:GOSUB 2110:GOSUB 2530:GOSUB 2790:GOTO 420
350 REM
360 PLOT  12,6,24,27,89,127,15:GOSUB 2110:GOSUB 2530:GOSUB 2450
370 GOTO 390
380 GOSUB 2250:GOSUB 2420:GOSUB 2450: REM     ***ONE PLAYER***
390 PRINT "  WORKING    "
400 GOSUB 1900:REM                   ***SETS RANDOM NUMBERS*****
410 PLOT  6,24,28,11
420 Z =  1
440 Y =  131
450 FOR  ZZ =  1 TO  10:REM ****Y = VERTICAL LEVEL OF LINES****
460 Y =  Y -  12
470 FOR  X =  1 TO  HA
480 GOSUB 790
490 GOTO 520
500 PLOT  3,2,30:PRINT "THAT'S NOT A COLOR "
510 FOR  T =  1 TO  500:NEXT  T:PLOT  6,24,28,11:GOTO 480
520 S= PEEK (33278)
530 IF  S =  26 THEN 470: REM            **ERROR CORRECTION**
540 IF S< 16THEN 500
550 IF S> 23THEN 500
560 REM
570 ON  X GOSUB 830,870,910,950,990
580 UG =  0
590 NEXT  X
600 PLOT  3,0,29
605 REM :CHECKING***PRINT"A1--E1"A1,B1,C1,D1,E1:PRINT"      "A,B,C,D,E
610 IF  A= A1 AND  B= B1 AND  C= C1 AND  D= D1 AND  E= E1 THEN PRINT "YOU WIN ":S1= S1+ 1:V= 1:GOSUB 2860:GOTO 730
620 GOSUB 1110
630 GOSUB 1030
640 GOSUB 1070
650 Z =  Z +  3
660 H =  0
670 NEXT  ZZ
680 PLOT  3,2,28:PRINT :PRINT "YOU LOSE THE ANSWER IS:  "
690 FOR  X =  1 TO  HA:Y= 0
700 ON  X GOSUB 850,890,930,970,1010
710 NEXT  X
720 S2 =  S2 +  1
730 IF  S9 =  1 AND  V =  1 THEN S3 =  S3 +  1
740 IF  S9 =  2 AND  V =  1 THEN S4 =  S4 +  1
750 PRINT "TYPE ";Q;" FOR ANOTHER GAME.  ":V= 0
752 INPUT "OR TYPE 0 TO START OVER    ";Q
754 IF  Q =  0 THEN  CLEAR :GOTO  20
760 IF  Q =  1 THEN GOTO 360
770 IF  Q =  2 THEN GOTO 200
780 END
790 POKE 33278,0
800 REM
810 IF PEEK (33278)= 0THEN GOTO 800
820 RETURN
830 A =  S:PLOT  6,(A -  16),2,60,Y+ 5,242,64,Y+ 5,64,Y,60,Y,60,Y+ 5,61,Y+ 5,61,Y,255
840 PLOT  2,62,Y,242,62,Y+ 5,63,Y+ 5,63,Y,255:RETURN
850 PLOT  6,(A1- 16),2,60,Y+ 5,242,64,Y+ 5,64,Y,60,Y,60,Y+ 5,61,Y+ 5,61,Y,255
860 PLOT  2,62,Y,242,62,Y+ 5,63,Y+ 5,63,Y,255:RETURN
870 B =  S:PLOT  6,(S- 16),2,70,Y+ 5,242,74,Y+ 5,74,Y,70,Y,70,Y+ 5,71,Y+ 5,71,Y,255
880 PLOT  2,72,Y,242,72,Y+ 5,73,Y+ 5,73,Y,255:RETURN
890 PLOT  6,(B1- 16),2,70,Y+ 5,242,74,Y+ 5,74,Y,70,Y,70,Y+ 5,71,Y+ 5,71,Y,255
900 PLOT  2,72,Y,242,72,Y+ 5,73,Y+ 5,73,Y,255:RETURN
910 C =  S:PLOT  6,(S- 16), 2,80,Y+ 5,242,84,Y+ 5,84,Y,80,Y,80,Y+ 5,81,Y+ 5,81,Y,255
920 PLOT  2,82,Y,242,82,Y+ 5,83,Y+ 5,83,Y,255:RETURN
930 PLOT  6,(C1- 16), 2,80,Y+ 5,242,84,Y+ 5,84,Y,80,Y,80,Y+ 5,81,Y+ 5,81,Y,255
940 PLOT  2,82,Y,242,82,Y+ 5,83,Y+ 5,83,Y,255:RETURN
950 D =  S:PLOT  6,(S- 16),2,90,Y+ 5,242,94,Y+ 5,94,Y,90,Y,90,Y+ 5,91,Y+ 5,91,Y,255
960 PLOT  2,92,Y,242,92,Y+ 5,93,Y+ 5,93,Y,255:RETURN
970 PLOT  6,(D1- 16),2,90,Y+ 5,242,94,Y+ 5,94,Y,90,Y,90,Y+ 5,91,Y+ 5,91,Y,255
980 PLOT  2,92,Y,242,92,Y+ 5,93,Y+ 5,93,Y,255:RETURN
990 E =  S:PLOT  6,(S- 16),2,100,Y+ 5,242,104,Y+ 5,104,Y,100,Y,100,Y+ 5,101,Y+ 5,101,Y,255
1000 PLOT  2,102,Y,242,102,Y+ 5,103,Y+ 5,103,Y,255:RETURN
1010 PLOT  6,(D1- 16),2,100,Y+ 5,242,104,Y+ 5,104,Y,100,Y,100,Y+ 5,101,Y+ 5,101,Y,255
1020 PLOT  2,102,Y,242,102,Y+ 5,103,Y+ 5,103,Y,255:RETURN
1030 PLOT  6,2,2,121,Y+ 5,242,124,Y+ 5,124,Y,121,Y,121,Y+ 5,255
1040 POKE 28672+ (Z* 128)+ 123,117:REM ******OUTER SCORE BOX
1050 POKE 28672+ (Z* 128)+ 122,48+ H:RETURN
1060 REM
1070 PLOT  6,3,2,111,Y+ 5,242,114,Y+ 5,114,Y,111,Y,111,Y+ 5,255
1080 POKE 28672+ (Z* 128)+ 113,117:REM *****INNER SCORE BOX
1090 POKE 28672+ (Z* 128)+ 112,48+ UG:RETURN
1100 END
1110 A2= A1:B2= B1:C2= C1:D2= D1:E2= E1
1120 IF A< > A2THEN 1140
1130 UG= UG+ 1:A= 0:A2= 1
1140 IF B< > B2THEN 1160
1150 UG= UG+ 1:B= 2:B2= 3
1160 IF C< > C2THEN 1180
1170 UG= UG+ 1:C= 4:C2= 5
1180 IF D< > D2THEN 1191
1190 UG= UG+ 1:D= 6:D2= 7
1191 IF  HA =  4 THEN  1200
1192 IF E< > E2THEN 1200
1194 UG= UG+ 1:E= 8:E2= 9
1200 IF A< > B2THEN 1220
1210 H= H+ 1:A= 0:B2= 3
1220 IF A< > C2THEN 1240
1230 H= H+ 1:A= 0:C2= 5
1240 IF A< > D2THEN 1260
1250 H= H+ 1:A= 0:D2= 7
1260 IF B< > A2THEN 1280
1270 H= H+ 1:B= 2:A2= 1
1280 IF B< > C2THEN 1300
1290 H= H+ 1:B= 2:C2= 5
1300 IF B< > D2THEN 1320
1310 H= H+ 1:B= 2:D2= 7
1320 IF C< > A2THEN 1340
1330 H= H+ 1:C= 4:A2= 1
1340 IF C< > B2THEN 1360
1350 H= H+ 1:C= 4:B2= 3
1360 IF C< > D2THEN 1380
1370 H= H+ 1:C= 4:D2= 7
1380 IF D< > A2THEN 1400
1390 H= H+ 1:D= 6:A2= 1
1400 IF D< > B2THEN 1420
1410 H= H+ 1:D= 6:B2= 3
1420 IF D< > C2THEN 1440
1430 H= H+ 1:D= 6:C2= 5
1440 IF  HA =  4 THEN  RETURN
1450 IF A< > E2THEN 1470
1460 H= H+ 1:A= 0:E2= 9
1470 IF B< > E2THEN 1490
1480 H= H+ 1:B= 2:E2= 9
1490 IF C< > E2THEN 1510
1500 H= H+ 1:C= 4:E2= 9
1510 IF D< > E2THEN 1530
1520 H= H+ 1:D= 6:E2= 7
1530 IF E< > A2THEN 1550
1540 H= H+ 1:E= 8:A2= 1
1550 IF E< > B2THEN 1570
1560 H= H+ 1:E= 8:B2= 3
1570 IF E< > C2THEN 1590
1580 H= H+ 1:E= 8:C2= 5
1590 IF E< > D2THEN 1630
1600 H= H+ 1:E= 8:D2= 7
1630 RETURN
1890 END
1900 T1= PEEK (33209):A1= INT (RND (9)* T1)
1910 IF  A1< 16 THEN 1900
1920 IF  A1 > 23 THEN 1900
1930 FOR  Y =  1 TO  200:NEXT  Y
1940 T1= PEEK (33209):B1= INT (RND (9)* T1)
1950 IF  B1< 16 THEN 1940
1960 IF  B1 > 23 THEN 1940
1970 FOR  Y =  1 TO  200:NEXT  Y
1980 T1= PEEK (33209):C1= INT (RND (9)* T1)
1990 IF  C1< 16 OR  C1> 23 THEN 1980
2000 REM
2010 FOR  Y =  1 TO  200:NEXT  Y
2020 T1= PEEK (33209):D1= INT (RND (9)* T1)
2030 IF  D1< 16 THEN 2020
2040 IF  D1 > 23 THEN 2020
2045 IF  HA =  4 THEN  RETURN
2050 FOR  Y =  1 TO  200:NEXT  Y
2060 T1= PEEK (33209):E1= INT (RND (9)* T1)
2070 IF  E1< 16 THEN 2060
2080 IF  E1> 23 THEN 2060
2090 RETURN
2100 END
2110 REM
2120 FOR  M =  1 TO  3
2130 ON  M GOTO 2140,2150,2160
2140 L =  0:N =  1:P =  5:GOTO 2170
2150 L =  3:N =  6:P =  6:GOTO 2170
2160 L =  4:N =  4:P =  4
2170 PLOT  6,P,2,25,118,242,23,117+ L,17,117+ L,13,122+ L,7,123+ L,3,123+ L,7,120+ L,4,117+ L,3,115+ L,255
2180 PLOT  6,P,2,25,118,242,27,117+ L,33,117+ L,37,122+ L,43,123+ L,47,123+ L,43,120+ L,46,117+ L,47,115+ L,255
2190 PLOT  6,P,2,3,115+ L,242,5,112+ L,1,100+ L,11,115+ L,13,109+ L,22,107+ L,25,108+ L,255
2200 PLOT  6,P,2,47,115+ L,242,45,112+ L,49,100+ L,39,115+ L,37,109+ L,28,107+ L,25,108+ L,255
2210 PLOT  6,1,2,25,120,242,25,126,27,125,29,124,25,122,255
2220 NEXT  M
2230 PLOT  6,6,3,3,6:PRINT "THIS IS MASTERMIND"
2240 RETURN
2250 REM  INSTRUCTIONS FOR ONE PLAYER
2260 PLOT  3,2,12,6,1:PRINT :PRINT "THE COMPUTER HAS CHOSEN A "
2270 PRINT "COMBINATION OF COLORS.    "
2280 PRINT "YOU HAVE 10 CHANCES.      "
2290 PRINT "IF YOUR GUESS IS          "
2300 PRINT "IS: RIGHT COLOR RIGHT POS-"
2310 PRINT "ITION, THAT NUMBER WILL   "
2320 PRINT "SHOW IN THE BOX ADJACENT  "
2330 PRINT "TO THE COLORS.            "
2340 PRINT "RIGHT COLOR WRONG POSITION"
2350 PRINT "WILL SHOW IN THE BOX AWAY "
2360 PRINT "FROM THE COLORS.          "
2370 PRINT "TO PLAY - HIT COLOR KEYS  "
2380 PRINT "ON THE LEFT.              "
2390 PRINT "TO CORRECT A LINE, HIT BACK- "
2400 PRINT "ARROW BEFORE THE LAST COLOR  "
2410 RETURN
2420 PLOT  3,2,9,6,4:INPUT  "WHAT IS YOUR NAME?";N$
2430 PLOT  6,24,28,11
2440 RETURN
2450 PLOT  3,2,9,6,4:PRINT :PRINT "SCORE: ";N$;TAB( 21)S1;"   "
2460 PRINT "       COMPUTER      ";S2;"   "
2470 RETURN
2480 REM  INSTRUCTIONS FOR TWO PLAYERS
2490 PLOT  3,2,12,6,24
2500 PRINT "THE SECOND PLAYER SETS   "
2510 PRINT "THE CODE. (DON'T PEEK). THE"
2520 PRINT "OTHER PLAYER HAS 10 CHANCES"
2530 PLOT  3,0,15
2540 PRINT "IF YOUR GUESS IS:          "
2550 PRINT " RIGHT COLOR RIGHT POS-    "
2560 PRINT "ITION, THAT NUMBER WILL    "
2570 PRINT "SHOW IN THE BOX ADJACENT   "
2580 PRINT "TO THE COLORS.             "
2590 PRINT "RIGHT COLOR WRONG POSITION "
2600 PRINT "WILL SHOW IN THE BOX AWAY  "
2610 PRINT "FROM THE COLORS.           "
2620 PRINT "TO PLAY - HIT COLOR KEYS   "
2630 PRINT "ON THE LEFT.               "
2640 PRINT "TO CORRECT A LINE, HIT BACK- "
2650 PRINT "ARROW BEFORE THE LAST COLOR  "
2660 RETURN
2670 PLOT  3,2,9,6,4:INPUT  "FIRST PLAYERS NAME?";N$
2680 PLOT  6,24,28,11
2690 INPUT  "SECOND PLAYERS NAME?  ";N2$
2700 PLOT  6,24,28,11
2710 PRINT "ENTER CODE..."
2720 RETURN
2730 PLOT  3,2,9,6,4
2740 IF  S9 =  1 THEN PRINT "NOW PLAYING: ";N$:S9= 2:GOTO 2760
2750 IF  S9 =  2 THEN PRINT "NOW PLAYING: ";N2$:S9= 1
2760 PRINT :PRINT "SCORE: ";N$;TAB( 21)S3;"    "
2770 PRINT  "       "N2$;TAB( 21)S4;"    "
2780 RETURN
2790 PLOT  3,2,9,6,4
2800 IF  S9 =  1 THEN PRINT "NOW PLAYING: ";N$
2810 IF  S9 =  2 THEN PRINT "NOW PLAYING: ";N2$
2820 PRINT :PRINT "SCORE: ";N$;TAB( 21)S3;"    "
2830 PRINT  "       "N2$;TAB( 21)S4;"    "
2840 RETURN
2850 END
2860 PLOT 24:RETURN