Listing of file='MATCH' on disk='vmedia/games_vol_3.wvd.zip'
# Sector 195, program filename = 'MATCH' 0010 E$="MATCH" : DIM K$1,A$1,M$,Y$12 : GOSUB 1000 : GOTO 20 0015 DEFFN'0 0020 PRINT HEX(03) : LIMITS T"@G.MATC1",W1,W2,W2 : ERRORDATA SAVE DC OPEN T2,"@G.MATC1" : GOTO 20 0025 DATA LOAD DA T(W1)H1,H2 : ERRORIF W1<>0THEN DATA SAVE DA T(W1)0,0 : GOTO 25 0026 PRINT AT(4,0);"Highest so far =";H1;"games,";H2;"points" 0030 PRINT AT(2,32);"* M A T C H *" : S9=600 : L9=12 : N=16 : C=30 : L=3 : S,S1=0 : Y$=" " 0100 PRINT AT(10,30);"0 . . . . . .";AT(10,32); : ON LGOSUB 9010,9020,9030 0200 SELECT P : PRINT AT(10,30); : GOSUB 8000 : M$=STR(M$,,N) : A$="0" : A=0 0210 KEYIN K$,220,250 : GOSUB 5000 : GOTO 210 0220 REM % FIRE : P=POS(Y$=A$) : C=C-1 : IF C=0THEN L=1 : IF C=0THEN 9000 : IF P=0THEN 210 : GOSUB 8300 : P=P-1 : IF P=1THEN 230 : FOR X=PTO 3STEP -2 : STR(Y$,X,2)=STR(Y$,X-2,2) : NEXT X 0230 STR(Y$,,2)=" " : GOSUB 5020 : GOTO 210 0250 REM REVOLVE : IF K$<>HEX(7E)THEN 210 0260 A=A+1 : CONVERT ATO A$,(#) : ERRORA$="*" : A=-1 0270 PRINT AT(10,30);A$;AT(10,30); : GOTO 210 1000 REM % INSTRUCTIONS 1010 PRINT HEX(03);AT(2,32);"* M A T C H *" : PRINT : PRINT "To play this game you must match the number on the left using the 'FN' key" : PRINT "to one or more on the right. The numbers generate themselves - th ere are 16." 1020 PRINT : PRINT TAB(20);"i.e. '5 \BD 8 5 3 7 2 1'" : PRINT : PRINT "By keying 'RETURN' the '5' will be matched and dropped, then the ' FN' key" : PRINT "twice (to get '7') and 'RETURN' will match the '7', etc" 1030 PRINT : PRINT "You have three lives per game, and 30 shots per game." 1040 PRINT : PRINT "The second an subsequent games get faster and faster. If you get to 9 games" : PRINT "you start from one again only this time there are only 5 numbers o n the right." 1050 PRINT : PRINT "Press RETURN for the game to commence - good luck" 1060 KEYIN K$ : RETURN 5000 D=D+1 : IF D<>S9THEN RETURN : D=0 5010 IF STR(Y$,2,1)<>" "THEN 9000 : Y$=STR(Y$,3) : STR(Y$,12)=M$ : M$=STR(M$,2) 5020 REM % WIN : IF Y$=" "AND M$=" "THEN 5200 : PRINT AT(10,33);STR(Y$,,12);AT(10,30); : RETURN 5200 REM % WIN : N=16 : IF S9<200THEN 5210 : S9=S9-50 : G=G+1 : GOSUB 5300 : GOTO 100 5210 S9=500 : L9=L9-2 : IF L9=0THEN STOP "I GIVE UP - YOU ARE TOO GOOD!!!!" : GOTO 200 5300 REM % GAME : PRINT AT(15,30);"Games won =";G;" points =";S : FOR S1=1TO 5000 : NEXT S1 : C=30 : L=3 : D=0 : RETURN 8000 M=RND(1) : M1=RND(1) : CONVERT M*1E8TO M$,(########) : CONVERT M1*1E8TO STR(M$,9),(########) : REM PRINT M$ : RETURN 8300 REM % SCORE : N=N-1 : IF A$<>"*"THEN S1=S1+A : IF A$<>"*"AND S1/10=INT(S1/10)THEN IF STR(M$,,1)<>" "THEN STR(M$,,1)="*" : IF A$="*"THEN PRINT HEX(07) : S=S+(S9-100)/50*10*P/10 : PRINT AT(15,0);"Score =";S : RETURN 9000 REM LOSE LIFE : REM IF L=1THEN GOSUB 5300 : L=L-1 : IF L=0THEN 9980 : FOR S1=1TO 200 : NEXT S1 : PRINT AT(16,0);"Life lost!!!!! - now only";L;"lives" 9005 KEYIN K$,9005,9005 9006 D=0 : Y$=" " : GOTO 100 9010 PRINT "-" : RETURN 9020 PRINT "=" : RETURN 9030 PRINT "\BD" : RETURN 9980 PRINT AT(18,0);"GAME OVER - Press SFK31 to end, of SFK0 for another game" : END 9990 IF S>H2THEN DATA SAVE DA T(W1)G,S 9995 DEFFN'31 : LOAD T"GAMES"