Listing of file='MILL.BAS;01' on disk='vmedia/sharks-sector.ccvf'
100 REM COPYRIGHT (C) 1980 BY COMPUCOLOR CORPORATION 110 REM 120 REM MILL 130 REM ALTERNATES BETWEEN PLAYERS BASED ON GAME 140 REM STAGE OF PLAYER - 1=START 2=PLACE 3=MOVE 4=END 150 CLEAR 100 160 REM 170 DIM S(2):S(0)= 1:S(1)= 2:S(2)= 2 180 ON S(P)GOSUB 490,870,1020,1130 190 P= (PAND 1)+ 1:GOTO 180 200 END 210 REM 220 REM 230 REM SUBROUTINES 240 REM 250 REM DRAW BOARD 260 PLOT 2,5,118,242,122,118,122,9,5,9,5,118,255 270 PLOT 2,15,102,242,111,102,111,25,15,25,15,102,255 280 PLOT 2,25,86,242,101,86,101,41,25,41,25,86,255 290 PLOT 2,63,9,242,63,41,255,2,63,118,242,63,87,255 300 PLOT 2,5,62,242,25,62,255,2,102,62,242,122,62,255 310 RESTORE 1520:FOR X= 1TO 24 320 READ P(X,1),P(X,0) 330 GOSUB 1460 340 NEXT 350 RETURN 360 REM 370 REM 380 REM DIR 390 REM 400 REM 410 PLOT 30,16,29,19,3,10,10,15 420 REM 430 PLOT 3,15,17:INPUT " ENTER PLAYER ONE'S NAME: ";P$(1) 440 PLOT 3,15,18:INPUT " ENTER PLAYER TWO'S NAME: ";P$(2):REM 450 FOR X= 1TO 2:P$(X)= LEFT$ (P$(X),10):NEXT X 460 PLOT 12 470 C(0)= 16:C(1)= 17:C(2)= 18 480 PLOT 29,22:GOTO 260 490 REM START 500 DIM SP(24,4),M(24,3),P(24,2) 510 REM 520 RESTORE 780:REM BOARD CONNECTION 530 FOR X= 1TO 24:REM 4 POSITIONS THAT SHARE 3 WITH X 540 SP(X,0)= 0 550 FOR Y= 1TO 4:REM 0 FOR PLAYER 1-4 POSITIONS 560 READ SP(X,Y) 570 NEXT Y,X 580 RESTORE 690:FOR X= 1TO 24:FOR Y= 0TO 3 590 READ M(X,Y):NEXT Y,X 600 PLOT 15 610 C(0)= 19 620 PLOT 6,2,27,24,12 630 GOSUB 310 640 PLOT 6,43,3,24,12,15:PRINT " ":PLOT 3,24,13 650 PRINT " pq oe a a ":PLOT 3,24,14:PRINT " ab m l l " 655 PLOT 3,24,15:PRINT " " 670 GOTO 410 680 REM MOVES 690 DATA 2,10,0,0,1,3,5,0,2,15,0,0 700 DATA 11,5,0,0,2,8,4,6,5,14,0,0 710 DATA 12,8,0,0,5,7,9,0,8,13,0,0 720 DATA 1,22,11,0,4,10,19,12,7,16,11,0 730 DATA 9,18,14,0,6,13,15,21,3,14,24,0 740 DATA 12,17,0,0,16,20,18,0,13,17,0,0 750 DATA 11,20,0,0,17,23,19,21,20,14,0,0 760 DATA 10,23,0,0,20,22,24,0,23,15,0,0 770 REM CONNECTIONS 780 REM 790 DATA 10,22,2,3,1,3,5,8,1,2,15,24 800 DATA 5,6,11,19,2,8,4,6,4,5,14,21 810 DATA 8,9,12,16,2,5,7,9,13,18,7,8 820 DATA 11,12,1,22,10,12,4,19,10,11,7,16 830 DATA 9,18,14,15,6,21,13,15,3,24,13,14 840 DATA 7,12,17,18,16,18,20,23,9,13,16,17 850 DATA 4,11,20,21,17,23,19,21,6,14,19,20 860 DATA 1,10,23,24,20,17,22,24,3,15,22,23 870 REM 880 REM 890 Q$= " "+ P$(P)+ " PLACE AT ":GOSUB 1280 900 IF SP(X,0)< > 0THEN GOSUB 1280:GOTO 900 910 GOSUB 1460 920 SP(X,0)= P 930 REM DEAL WITH CAPTURES AND CHANGE OF STATE 940 REM ALL ROUTINES RETURN HERE 950 GOSUB 1340:IF G= 1THEN GOSUB 1400 960 GOSUB 1370:IF G= 2THEN GOSUB 1400 970 F= 0:FOR W= 1TO 24:IF SP(W,0)= (PAND 1)+ 1THEN F= F+ 1 980 NEXT 990 N(P)= N(P)+ 1:IF N(P)= 9THEN S(P)= 3 1000 IF F= 3AND S((PAND 1)+ 1)= 3THEN S((PAND 1)+ 1)= 4 1010 RETURN 1020 REM MOVE S=3 1030 Q$= " "+ P$(P)+ " MOVE AT ":GOSUB 1280 1040 IF SP(X,0)< > PTHEN 1030 1050 F= X:Q$= " TO ":GOSUB 1280 1060 IF SP(X,0)< > 0THEN X= F:GOTO 1030 1070 FOR D= 0TO 3:IF M(F,D)= XTHEN 1090 1080 NEXT :GOTO 1030 1090 SP(F,0)= 0:SP(X,0)= P 1100 GOSUB 1460:TP= P:TX= X:X= F:P= 0:GOSUB 1460 1110 P= TP:X= TX:GOSUB 950 1120 RETURN 1130 REM END S=4 1140 IF F= 2THEN 1220 1150 Q$= P$(P)+ " MOVE FROM ":GOSUB 1280 1160 IF SP(X,0)< > PTHEN 1150 1170 F= X:Q$= " TO ":GOSUB 1280 1180 IF SP(X,0)< > 0THEN 1150 1190 TX= X 1200 GOSUB 1460:SP(X,0)= P:SP(F,0)= 0:TP= P:P= 0:X= F:GOSUB 1460 1210 X= TX:P= TP:GOTO 950 1220 PLOT 31:P= (PAND 1)+ 1 1230 FOR X= 1TO 24:IF SP(X,0)= PTHEN GOSUB 1460 1240 NEXT :Q$= P$(P)+ " WINS !!!! " 1250 PLOT 29,C(P),3,16,17,14:PRINT SPC( 33)"":PLOT 3,16,17 1260 PRINT Q$:FOR X= 1TO 4000:NEXT :PLOT 27,11:LOAD "MENU":RUN 1270 REM INPUT USED BY ALL 1280 PLOT 29,C(P),3,16,17,14:PRINT SPC( 33)"":PLOT 3,20,17 1290 PRINT Q$;:INPUT "";X 1300 IF X> 24OR X< 1THEN 1280 1310 PLOT 15:RETURN 1320 REM 1330 REM 1340 G= 0 1350 IF (SP(SP(X,3),0)= P)AND (SP(SP(X,4),0)= P)THEN G= 1 1360 RETURN 1370 G= 0 1380 IF (SP(SP(X,1),0)= P)AND (SP(SP(X,2),0)= P)THEN G= 2 1390 RETURN 1400 REM 1410 TX= X:TP= P 1420 Q$= "CAPTURE! REMOVE MARKER AT " 1430 GOSUB 1280:IF SP(X,0)< > (PAND 1)+ 1THEN 1430 1440 P= 0:GOSUB 1460:SP(X,0)= 0:X= TX:P= TP:RETURN 1450 REM DRAW MARKER AT 'X' 1460 PLOT 3,P(X,0),P(X,1),29,C(P):PRINT "t";:PLOT 96,96 1470 PRINT "u":PLOT 3,P(X,0),P(X,1)+ 1,96,32,32,96 1480 PLOT 3,P(X,0),P(X,1)+ 2:PRINT "v";:PLOT 96,96:PRINT "w" 1490 PLOT 3,P(X,0)+ 1,P(X,1)+ 1,29,19 1500 PRINT RIGHT$ (STR$ (X),2) 1510 PLOT 3,80,0:RETURN 1520 DATA 1,1,1,30,1,59,5,6,5,30,5,54,9,11,9,30,9,49 1530 DATA 15,1,15,6,15,11,15,49,15,54,15,59,20,11,20,30 1540 DATA 20,49,24,6,24,30,24,54,28,1,28,30,28,59