Listing of file='MMIND.BAS;01' on disk='vmedia/taylor-sideA-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