Compucolor.org – Virtual Media

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

1 V= 1:PLOT 24,8
2 PLOT 27,4:PRINT "LOAD MST.DSP":PLOT 27,27
3 PLOT 14,29,23
4 FOR L= 50TO 1STEP - 1
5 PLOT 3,30,29:PRINT "   ":PLOT 3,30,29:PRINT L:FOR L1= 1TO 100:NEXT L1
6 NEXT L
10 A= INT (5* RND (1)+ 1)
20 B= INT (5* RND (1)+ 1):IF B= ATHEN 20
30 C= INT (5* RND (1)+ 1):IF C= AOR C= BTHEN 30
40 D= INT (5* RND (1)+ 1):IF D= COR D= BOR D= ATHEN 40
45 PLOT 14
46 PLOT 30,16
60 PLOT 12,29,18,3,20,10:PRINT "I  HAVE SELECTED FOUR COLOURS"
61 PRINT "YOUR TASK IS TO TRY TO GUESS THE CORRECT COLOURS"
62 PRINT "IN THE CORRECT POSITIONS"
63 PRINT "TO SELECT A COLOUR (EITHER BLUE RED MAGENTA GREEN
64 PRINT "YELLOW OR WHITE), TYPE IN THE FIRST LETTER OF THE COLOUR"
67 INPUT "TYPE RETURN WHEN READY";X$
68 PLOT 15,16,30,16
70 PLOT 27,4:PRINT "LOAD MASTER.DSP":PLOT 27,27
79 POKE 33210,0:POKE 33209,0
80 PLOT 8
81 FOR L= 11TO 29STEP 2
82 PLOT 16,30,16
90 PLOT 3,19,L,16,30,16:G= 0:GOSUB 20000:A1$= CHR$ (W1)
110 TST$= MID$ (A1$,1,1):GOSUB 1000
130 IF G= 1THEN 90
140 PLOT 3,19,L,6,COL:PRINT " ";
150 PLOT 3,32,L,16,30,16:G= 0:GOSUB 20000:B1$= CHR$ (W1)
160 TST$= MID$ (B1$,1,1):GOSUB 1000
170 IF G= 1THEN 150
180 PLOT 3,32,L,6,COL:PRINT " ";
190 PLOT 3,44,L,16,30,16:G= 0:GOSUB 20000:C1$= CHR$ (W1)
200 TST$= MID$ (C1$,1,1):GOSUB 1000
210 IF G= 1THEN 190
229 PLOT 3,44,L,6,COL:PRINT " ";
230 PLOT 3,56,L,16,30,16:G= 0:GOSUB 20000:D1$= CHR$ (W1)
231 POKE 33278,0
240 TST$= MID$ (D1$,1,1):GOSUB 1000
250 IF G= 1THEN 230
260 PLOT 3,56,L,6,COL:PRINT " ";
270 TST$= MID$ (A1$,1,1):GOSUB 2000
280 A1= TST
290 TST$= MID$ (B1$,1,1):GOSUB 2000
300 B1= TST
310 TST$= MID$ (C1$,1,1):GOSUB 2000
320 C1= TST
330 TST$= MID$ (D1$,1,1):GOSUB 2000
340 D1= TST
350 GOSUB 3000
359 PLOT 14
360 PLOT 3,0,L,6,15:PRINT GD;:PLOT 3,3,L,20:PRINT NSG
361 PLOT 15
362 PLOT 29,16,30,16,29
365 V= V+ 1
370 NEXT L
380 GOTO 11000
1000 IF TST$= "R"THEN COL= 8:RETURN
1010 IF TST$= "B"THEN COL= 32:RETURN
1020 IF TST$= "G"THEN COL= 16:RETURN
1030 IF TST$= "Y"THEN COL= 24:RETURN
1040 IF TST$= "R"THEN COL= 8:RETURN
1050 IF TST$= "M"THEN COL= 40:RETURN
1060 IF TST$= "W"THEN COL= 56:RETURN
1070 G= 1
1100 RETURN
2000 IF TST$= "R"THEN TST= 1:RETURN
2010 IF TST$= "B"THEN TST= 2:RETURN
2020 IF TST$= "G"THEN TST= 3:RETURN
2030 IF TST$= "Y"THEN TST= 4:RETURN
2040 IF TST$= "M"THEN TST= 5:RETURN
2050 TST= 6
2060 RETURN
3000 GD= 0:NSG= 0
3010 IF A1= ATHEN GD= GD+ 1
3020 IF B1= BTHEN GD= GD+ 1
3030 IF C1= CTHEN GD= GD+ 1
3040 IF D1= DTHEN GD= GD+ 1
3050 A2= 0:B2= 0:C2= 0:D2= 0
3060 IF A1= ATHEN A2= 1
3070 IF B1= BTHEN B2= 1
3080 IF C1= CTHEN C2= 1
3090 IF D1= DTHEN D2= 1
4000 IF GD= 4THEN GOTO 10000
4010 IF A2= 1THEN 4030
4020 IF A1= BTHEN NSG= NSG+ 1
4025 IF A1= CTHEN NSG= NSG+ 1
4028 IF A1= DTHEN NSG= NSG+ 1
4030 IF B2= 1THEN 4050
4035 IF B1= ATHEN NSG= NSG+ 1
4040 IF B1= CTHEN NSG= NSG+ 1
4045 IF B1= DTHEN NSG= NSG+ 1
4050 IF C2= 1THEN 4070
4055 IF C1= ATHEN NSG= NSG+ 1
4060 IF C1= BTHEN NSG= NSG+ 1
4065 IF C1= DTHEN NSG= NSG+ 1
4070 IF D2= 1THEN GOTO 4090
4075 IF D1= ATHEN NSG= NSG+ 1
4080 IF D1= BTHEN NSG= NSG+ 1
4085 IF D1= CTHEN NSG= NSG+ 1
4090 RETURN
10000 PLOT 6,7,12:PRINT :PRINT :PRINT :PRINT :PRINT "W E L L  D O N E  R I G H T  I N  ";V;"  G O E S"
10001 PRINT "IT ONLY TOOK YOU ";PEEK (33210);" MINUTES ";PEEK (33209);" SECONDS"
10002 INPUT "TRY AGAIN.......?";Q$
10003 IF Q$= "Y"THEN 1
10004 LOAD "MENU":RUN
11000 PLOT 6,7,12:PRINT :PRINT :PRINT "N E V E R  M I N D ....T R Y  A G A I N ?";:INPUT Q$
11001 GOTO 10002
20000 W= PEEK (33278)
20010 W1= PEEK (33278)
20020 IF W= W1THEN 20010
20030 RETURN