10 IFPAGE<>&1900:PAGE=&1900:CHAIN"SUMVADE" 20 A%=0:X%=&FF:F%=USR&FFF4 DIV&100 AND 7:IF F%>2 ?&FE34=&18:FORJ%=0TO31:K%=J%*640:P%=(2*J%)+&C375:[OPT2:EQUB K% DIV 256:EQUB K% AND 255:]:NEXT 30 MODE2 40 A$="123456789" 50 VDU23;8202;0;0;0; 60 HIMEM=&2E00 70 a=&2E00 80 b=&2E57:c=&2E17 90 *L.SPRITE1 100 *L.SPRITE2 110 *L.SPRCODE 120 FOR I=0 TO &FF 130 ?(&E00+I)=?(&3000+I) 140 NEXT 150 FOR I=0 TO &70 160 ?(&F00+I)=?(&880+I) 170 NEXT 180 ONERROR VDU7 190 PROCd 200 CLS 210 REPEAT 220 COLOUR4 230 PRINT'''''''''" SUMVADERS II" 240 COLOUR6 250 PRINT'''"Best Score:";H% 260 PRINT"By ";$&1000 270 COLOUR10 280 PRINT''''"Press SPACE to start"; 290 REPEAT 300 IF INKEY(-36)ANDINKEY(-35)ANDINKEY(-66)ANDINKEY(-83)ANDINKEY(-85) PROCe 310 UNTIL INKEY(-99) 320 CLS 330 PROCf 340 GCOL0,5 350 MOVE0,0 360 DRAW0,1023 370 DRAW1279,1023 380 DRAW1279,0 390 DRAW0,0 400 PROCg 410 PROCh 420 MOVE0,80 430 DRAW1279,80 440 MOVE0,928:DRAW1279,928 450 PROCi 460 REPEAT 470 REPEAT 480 PROCj 490 PROCk 500 IF?&86=1 PROCl 510 IF?&86=0 PROCm 520 UNTIL G%=11 OR ?&85=0 530 IF G%=11 G%=1:PROCn 540 UNTIL?&85=0 550 PROCo 560 UNTIL0 570 DEFPROCf 580 D%=1 590 E%=36 600 F%=50 610 G%=1 620 I%=0 630 ?&85=3 640 ENDPROC 650 DEFPROCg 660 COLOUR3 670 PRINTTAB(1,30);"SC:";I% 680 PRINTTAB(10,30);"LEV:";D% 690 ENDPROC 700 DEFPROCh 710 FORJ%=1 TO ?&85 720 K%=(J%*4)-4 730 PROCp(K%+146,23,&E0,&E,4,8) 740 NEXT 750 ENDPROC 760 DEFPROCe 770 CLS 780 COLOUR1 790 PRINT"Max addition=";B% 800 PRINT"Max subtraction=";C% 810 PRINT"Selected:"; 820 IF?&83=0 AND ?&84=0 ?&83=1 830 IF?&83=1 AND ?&84=0 PRINT;"Addition" 840 IF?&83=0 AND ?&84=1 PRINT;"Subtraction" 850 IF?&83=1 AND ?&84=1 PRINT;"Both" 860 FORZ=1TO1000:NEXT 870 *FX20,1 880 *FX138,0,21 890 INPUT"Addition max="B% 900 IF B%<2 B%=10 910 INPUT"Subtraction max="C% 920 IF C%<2 C%=10 930 PRINT"Addition?(Y/N)" 940 REPEAT:G$=GET$:UNTIL INSTR("yYnN",G$)>0 950 IF INSTR("yY",G$)>0 PRINT"Addition on":?&83=1 ELSE PRINT "Addition off":?&83=0 960 PRINT"Subtraction?(Y/N)" 970 REPEAT:G$=GET$:UNTIL INSTR("yYnN",G$)>0 980 IF INSTR("yY",G$)>0 PRINT"Addition on":?&84=1 ELSE PRINT "Addition off":?&84=0 990 COLOUR9 1000 PRINT"Press SPACE to start" 1010 ENDPROC 1020 DEFPROCd 1030 q=&F81 1040 ENVELOPE1,130,1,-3,-5,10,10,30,0,0,0,-127,100,0 1050 FOR N%=1 TO 5 1060 q?N%=(N%-1)*15+6:q?(10+N%)=210 1070 q?(N%+5)=(N%-1)*15+6:q?(15+N%)=230 1080 NEXT 1090 H%=20 1100 $&1000="Adrian" 1110 ?&83=1 1120 ?&84=0 1130 B%=10 1140 C%=10 1150 ENDPROC 1160 DEFPROCp(A,B,C,D,E,F) 1170 X%=A:Y%=B:CALL b 1180 *FX19 1190 c?1=C:c?2=D:X%=E:Y%=F:CALL a 1200 ENDPROC 1210 DEFPROCj 1220 PRINTTAB(1,1);" " 1230 *FX21,0 1240 IF?&83=1 AND ?&84=1 N%=RND(2):IF N%=1 PROCr ELSE IF ?&83=1 AND ?&84=1 PROCs 1250 IF?&83=1 AND ?&84=0 PROCr 1260 IF?&83=0 AND ?&84=1 PROCs 1270 ENDPROC 1280 DEFPROCr 1290 J%=RND(B%+(2*D%-2)) 1300 K%=RND(B%+(2*D%-2)) 1310 L%=J%+K% 1320 B$=STR$(J%)+"+"+STR$(K%) 1330 PRINTTAB(1,1);J%;"+";K%;"="; 1340 PROCz 1350 IF L%=M% ?&86=1 ELSE ?&86=0 1360 ENDPROC 1370 DEFPROCs 1380 J%=RND(C%+(2*D%-2)) 1390 K%=RND(C%+(2*D%-2)) 1400 IF J%"" VDU8,32,8:A$=LEFT$(A$,LEN(A$)-1) 2870 IF A%<10 IF A%>-1 A$=A$+STR$(A%):VDUA%+48 2880 UNTILA%=-35 OR LENA$>8 2890 M%=VALA$ 2900 ENDPROC