home *** CD-ROM | disk | FTP | other *** search
Wrap
5 DEF SEG=&HF000:PCJR=0:IF PEEK(&HFFFE)<>&HFD THEN 900 ELSE CLEAR ,,,32768!:GOTO 900 9 REM ------- READ KYBD 10 POKE.C=0 11 A$=INKEY$:IF A$<>"" THEN IF A$=CHR$(27) OR A$=CHR$(19) THEN 14 ELSE 10 12 POKE.C=POKE.C-1: IF POKE.C<=0 THEN POKE.C=200: IF PCJR THEN POKE &H417,0 ELSE POKE &H417,PEEK(&H417) OR 32 13 A$=INKEY$:IF A$="" THEN 12 14 ZX=ASC(A$):IF ZX=27 THEN 62000 15 IF ZX=19 AND NOT PCJR THEN GOSUB 97:GOTO 12 16 IF ZX>96 AND ZX<123 THEN ZX=ZX-32:A$=CHR$(ZX) 17 IF LEN(A$)=2 THEN ZX=1000+ASC(RIGHT$(A$,1)) 18 RETURN 19 REM ------ RND NUMBER GENERATOR 20 A=INT(RND(1)*X)+1:IF A=AX THEN 20 25 AX=A:RETURN 32 REM ------ COLOR FOR GRAPHICS 33 IF NOT PCJR OR SCREEN1 THEN COLOR 0,CINT(RND(5)*1): IF PCJR THEN GOSUB 37: PALETTE 1,CLR: CZ=CLR: GOSUB 37: PALETTE 2,CLR: GOSUB 37: PALETTE 3,CLR 34 CLR=CINT(RND*(FNCJ(14,2))+1):IF CLR=CZ OR CLR=7 OR CLR=8 OR CLR=15 THEN 34 ELSE CZ=CLR:RETURN 35 COLOR 0,CINT(RND(5)*1) 37 CLR=CINT(RND*(5)+1)+8:IF CLR=CZ OR CLR=CZ2 THEN 37 ELSE CZ2=CLR:RETURN 39 REM ------ SOUND RESPONSES 40 IF SND.MODE=0 THEN RETURN ELSE SND=RND*1000+50:FOR I=1 TO 15:SOUND SND,.9000001:SOUND 32767,.3:NEXT:RETURN:REM START GAME 41 IF SND.MODE=0 THEN RETURN ELSE FOR I=1 TO 20:SOUND RND*I*85+50,1.2:SOUND 32767,.4:NEXT:RETURN:REM CORRECT 42 IF SND.MODE=0 THEN RETURN ELSE FOR I=1 TO 2:SOUND 70,2:SOUND 32767,1:NEXT:RETURN:REM WRONG 43 IF SND.MODE=0 THEN RETURN ELSE FOR I=1 TO 3:SOUND RND(I)*I*500+50,1!:SOUND 32767,.25:NEXT:RETURN:REM ALPHABET 44 IF SND.MODE=0 THEN RETURN ELSE SOUND 600,.1:RETURN:REM DRAW DIRECTION 45 IF SND.MODE=0 THEN RETURN ELSE SOUND 300,.1:RETURN:REM DRAW COLOR 46 IF SND.MODE=0 THEN RETURN ELSE SOUND 400+AA*80,1:RETURN '--SOUND FOR COUNT 47 FOR TIME=1 TO 650-100*PCJR:NEXT:RETURN 48 FOR T=1 TO 102-298*PCJR:NEXT:RETURN 49 REM ------ TIME DELAY 50 FOR TIME=1 TO 1500:NEXT:RETURN 51 FOR TIME=1 TO 1000:NEXT:RETURN 52 FOR TIME=1 TO 3000:NEXT:RETURN 53 FOR TIME=1 TO 140:NEXT:RETURN 55 FOR TIME=1 TO 500:NEXT:RETURN 56 FOR TIME=1 TO 100:NEXT:RETURN 57 LOCATE ,,0:FOR TIME=1 TO 400:NEXT:RETURN 58 FOR TIME=1 TO 305:NEXT:RETURN 59 REM ------ LEVEL CHECK 60 IF NR/(NR+NW)>.75 THEN LEVEL=LEVEL+1 61 IF LEVEL<6 THEN X=3:RETURN 62 IF LEVEL<11 THEN X=5:RETURN 63 IF LEVEL<15 THEN X=7:RETURN 64 X=9:RETURN 69 REM ------ DROP A LEVEL 70 IF GAME=4 THEN 74 71 IF LEVEL<6 THEN RETURN 72 IF LEVEL<11 THEN LEVEL=4:RETURN 74 IF LEVEL<15 THEN LEVEL=9:RETURN 76 LEVEL=13:RETURN 80 FOR TIME=1 TO 1275:NEXT:RETURN 81 FOR TIME=1 TO 300:NEXT:RETURN 82 FOR TIME=1 TO 2550:NEXT:RETURN 83 FOR TIME=1 TO 900:NEXT:RETURN 84 FOR TIME=1 TO 200:NEXT:RETURN 85 FOR TIME=1 TO 375:NEXT:RETURN 86 FOR TIME=1 TO 50:NEXT:RETURN 87 LOCATE ,,0:FOR TIME=1 TO 340:NEXT:RETURN 88 FOR TIME=1 TO 260:NEXT:RETURN 90 REM ------ CHECK FOR CTRL KEYS 94 A$=INKEY$:IF A$=CHR$(27) THEN 62000 96 IF PCJR OR A$<>CHR$(19) THEN RETURN 97 SND.MODE=(SND.MODE+1) MOD 2:DEF SEG=0:POKE &H4F0,SND.MODE+1:RETURN 100 REM ------ CHECK FOR USED VALUE 110 AA=A :IF USED(AA)=0 THEN 150 120 FOR A=AA TO X :IF USED(A)=0 THEN 150 ELSE NEXT A 130 FOR A=AA TO 1 STEP -1 :IF USED(A)=0 THEN 150 ELSE NEXT A 140 FOR A=1 TO X :USED(A)=0 :NEXT A :GOSUB 20 :GOTO 110 150 USED(A)=1 :AA=A :RETURN 200 REM ------ ANIMATION FOR MATCH GAMES 205 X=135 :GOSUB 20 :Y=A+35 :X=20 210 Z=Z+1 :IF Z>4 THEN Z=1 215 ON Z GOSUB 225,280,320,400 220 RETURN :REM ---pelican 225 PSET(X,Y),FNCJ(15,3):DRAW"R7M+8,-5E4U3M-5,-8U5H3L4G2D3F4M+3,+6G2L3H1L7M-8,+5G7L1G1R4E1R12":PAINT(X,Y-4),FNCJ(15,3):CIRCLE(X+10,Y-24),2,0,,,1 :PAINT(X+10,Y-24),0 230 PSET(X+11,Y-24),FNCJ(14,1):CT=FNCJ(14,2):DRAW"R0BR4C=CT;U1H1NR5F1NR10D1R15D1G2M-5,+7L3H4U2H1U2":PAINT(X+22,Y-17),FNCJ(14,2):PSET(X-6,Y-2),0:DRAW"R4E1R5E1R5E3U2" 235 GET(X-18,Y-28)-(X+30,Y+5),CHAR :K=0 :GOSUB 265 :GOSUB 81 240 FOR K=10 TO 30 STEP 10 :LINE(X-28+K,Y-28)-(X+20+K,Y+5),0,BF :PUT(X-18+K,Y-28),CHAR 245 IF K/20=INT(K/20) THEN GOSUB 265 ELSE GOSUB 255 250 IF PCJR THEN GOSUB 85 ELSE GOSUB 55 251 NEXT K :PSET(X+K+4,Y-25),0 :CT=FNCJ(14,2):DRAW"NR16C=CT;NM+15,-7U1NM+15,-6L1U1M+14,-5" :RETURN 255 PSET(X-1+K,Y+1),FNCJ(14,2):DRAW"ND4R1G2F2NL2R3H1NR4U3":IF SND.MODE>0 THEN PLAY"MBL32N25L48N30" 260 IF PCJR THEN GOSUB 86:RETURN ELSE GOSUB 56: RETURN 265 PSET(X+2+K,Y+1),FNCJ(14,2):DRAW"ND4R1G2F2NL2NR3U1L5E1U2R1":IF SND.MODE>0 THEN PLAY"MBL16N32L32N22" 270 IF PCJR THEN GOSUB 85 :RETURN ELSE GOSUB 55:RETURN 275 '---bird 280 CIRCLE(295-X,Y),3,FNCJ(4,2),,,1 :CIRCLE(293-X,Y+1),7,FNCJ(4,2),5.5,5,.8 :CIRCLE(305-X,Y+5),10,FNCJ(4,2),3.3,5.8,.9000001 285 PSET(300-X,Y+3),FNCJ(4,2) :DRAW"R2E1R7E3M+6,-16R9M-13,+18D2R5M-6,+5D1":PAINT(300-X,Y+7),FNCJ(4,2) :DRAW"C0F3R4E1R2E1R2" 290 PSET(307-X,Y+15),FNCJ(14,3):DRAW"NR1F3G1L1G1L1NF1L3BU5NR1F2G2L4 295 PSET(294-X,Y),1 :CT=FNCJ(14,3):DRAW"BL5BD1C=CT;NL2F1NL4D1NL7D1NL9F1NL11G1L4C0U1R2" :IF SND.MODE>0 THEN PLAY"MBL64N70N72" 300 GET(280-X,Y-20)-(318,Y+21),CHAR :GOSUB 51 305 PUT(280-X,Y-20),CHAR :PUT(265-X,Y-30),CHAR :GOSUB 56 :IF SND.MODE>0 THEN PLAY"MBL64AABC." 310 PUT(265-X,Y-30),CHAR :PUT(250-X,Y-20),CHAR :GOSUB 55 315 CT=FNCJ(14,3):PSET(258-X,Y+1),CT:DRAW"M-6,-2L1G1NR4R2F1NR6R1F1NR3D1C0NL5F1R1NL7F1R1NM-5,-3NL9D1C=CT;L1G1NR5L2G1NR6L1" :GOSUB 55 :RETURN 318 '---owl 320 CT=FNCJ(5,3):CIRCLE(X,Y-12),5,CT,,,1.2 :CIRCLE(X+3,Y+3),14,CT,4.7,.8,1.4:CIRCLE(X+10,Y-12),5,CT,,,1.2 325 PSET(X+11,Y-17),CT :DRAW"U2E3L3G1L1H1L3G1L6U1H2L2D6G1D3F1D4F1 330 PSET(X-3,Y+14),CT :DRAW"G1L3G1L3H1U1E2U1E1U1E1U8E1U2E1U1E1U1 335 PSET(X+4,Y+18),CT:CS=FNCJ(7,2):DRAW"L7NH2G1C=CS;NR9G1D1F1R10U1H2BE2F2D1H2 340 PAINT(X,Y),CT :PAINT(X,Y+20),CS :PSET(X+5,Y),0 :DRAW"D4G1D3G1D1G4L1G1L3 345 PAINT(X+1,Y-11),CS,CT :PAINT(X+11,Y-11),CS,CT 350 CIRCLE(X+1,Y-11),2,0,,,1 :CIRCLE(X+11,Y-11),2,0,,,1 355 PAINT(X+1,Y-11),0,0 :PAINT(X+11,Y-11),0,0 360 PSET(X+1,Y-11),1 :PSET(X+11,Y-11),1 365 PSET(X+5,Y-11),0 :DRAW"R1F2D3G1H2L1U4" :PAINT(X+6,Y-9),CS,0 370 GET(X-18,Y-28)-(X+20,Y+26),CHAR :IF SND.MODE>0 THEN PLAY"MBL32N30N34" 375 IF PCJR THEN GOSUB 83 ELSE GOSUB 51 376 FOR K=4 TO 16 STEP 4 :IF K/8=INT(K/8) THEN J=0 ELSE J=4 380 PUT(X-18+K,Y-28-J),CHAR,PSET :IF SND.MODE>0 THEN PLAY"MBL32EG" 385 IF PCJR THEN GOSUB 85 ELSE GOSUB 55 386 NEXT K 390 RETURN 395 '---penguin 400 XLR=FNCJ(8,2): CIRCLE(310-X,Y-13),7,XLR,5.5,3.4,1:CIRCLE(310-X,Y+3),17,XLR,2.3,4.1,1.9 405 PSET(308-X,Y+18),XLR :DRAW"L3G2D1R8U3E1F2R1F1R1F1R3U1H2U1H1U1H1U6E1U8H1U3H1U2 410 GOSUB 440 :PAINT(312-X,Y),XLR :CIRCLE(309-X,Y-15),3,0,,,1.1 415 PAINT(303-X,Y),FNCJ(15,3),XLR :PAINT(309-X,Y-15),FNCJ(15,3),0 :XLR=0 :GOSUB 440 420 PSET(307-X,Y-15),0 :CS=FNCJ(15,3):DRAW"E1ND4F1D2BL6C=CS;NL2D1NL4" 425 GET(280-X,Y-20)-(318,Y+21),CHAR :IF SND.MODE>0 THEN PLAY"MBL64AC" 430 GOSUB 51 :FOR K=3 TO 21 STEP 3 :PUT(280-X-K,Y-20),CHAR,PSET :IF SND.MODE>0 THEN SOUND 200+3*K,.5 435 IF PCJR THEN GOSUB 84 ELSE GOSUB 55 436 NEXT K :PSET(306-X-K,Y-12),0 :DRAW"NL4C=CS;NL1NG2ND1U1NL4U1NL2" 440 PSET(303-X,Y-7),XLR :DRAW"R2F1R2F1D3D7F1D2F2R1F1R1U2H1U1H1U3BL1BD8D4G1D1L2":RETURN 500 REM ------ MENU PICTURES 510 CLS:GOSUB 57:IF NOT PCJR THEN SCREEN 1:COLOR 0,0 511 CLR=FNCJ(14,3):CX=10:CY=160:AA=5:GOSUB 1525:LINE(135,60)-(185,75),FNCJ(14,3),BF:LINE(135,90)-(185,105),FNCJ(14,3),BF:CX=210:GOSUB 1525:RETURN 520 CLS:GOSUB 57:IF NOT PCJR THEN SCREEN 1:COLOR 0,0 521 CLR=FNCJ(2,1):CX=20:CY=160:SCL=3:AA=1:GOSUB 1525:CX=125:AA=2:GOSUB 1525:CX=220:AA=3:GOSUB 1525:SCL=4:RETURN 530 CLS:GOSUB 57:IF NOT PCJR THEN SCREEN 1:COLOR 0,0 531 CLR=FNCJ(4,2):CX=30:CY=160:AA=1:GOSUB 1525:LINE(135,60)-(185,75),CLR,BF:LINE(135,90)-(185,105),CLR,BF:CX=185:GOSUB 1525:RETURN 540 CLS:GOSUB 57:IF NOT PCJR THEN SCREEN 1:COLOR 0,0 541 CLR=FNCJ(2,1):XLR=1:A=8:TRY=0:GOSUB 2550:RETURN 550 CLS:GOSUB 57:IF NOT PCJR THEN SCREEN 1:COLOR 0,0 551 CLR=FNCJ(14,3):CY=100:CX=20:GOSUB 555:LINE(CX+57,CY-22)-(CX+97,CY-12),CLR,BF:LINE(CX+72,CY-35)-(CX+82,CY),CLR,BF:CX=142:GOSUB 555 552 GOSUB 558:CX=265:CY=72:GOSUB 555:CY=127:GOSUB 555:RETURN 555 LINE(CX,CY-35)-(CX+35,CY),CLR,BF:RETURN 558 CY=100:LINE(CX+58,CY-32)-(CX+98,CY-22),CLR,BF:LINE(CX+58,CY-12)-(CX+98,CY-2),CLR,BF:RETURN '--EQ 560 CLS:GOSUB 57:IF NOT PCJR THEN SCREEN 1:COLOR 0,0 561 CLR=FNCJ(9,1):CX=20:CY=55:GOSUB 555:CY=100:GOSUB 555:CY=145:GOSUB 555:CY=100:LINE(CX+57,CY-22)-(CX+97,CY-12),CLR,BF 562 CX=142:CY=78:GOSUB 555:CY=123:GOSUB 555:GOSUB 558:CX=265:CY=100:GOSUB 555:RETURN 570 CLS:GOSUB 57:IF NOT PCJR THEN SCREEN 1:COLOR 0,0 571 CLR=FNCJ(7,3):LINE(112,168)-(303,175),CLR,BF 575 LINE(112,103)-(119,168),CLR,BF:LINE(200,103)-(303,168),CLR,BF 580 LINE(208,111)-(295,168),FNCJ(4,2),BF:LINE(232,119)-(263,151),CLR,BF 585 LINE(240,119)-(255,151),0,BF 590 X=120:Y=102:I=32:K=8:GOSUB 650:X=192:I=-32:K=-8:GOSUB 650 595 LINE(120,103)-(199,167),FNCJ(4,2),BF:PAINT(136,102),FNCJ(4,2),FNCJ(7,3):LINE(144,119)-(175,167),0,BF 600 CLR=FNCJ(7,3):GOSUB 660:PAINT(286,100),FNCJ(2,1),FNCJ(7,3):CLR=FNCJ(2,1):GOSUB 660 610 LINE(232,46)-(256,62),FNCJ(4,2),BF:LINE(48,80)-(71,160),FNCJ(6,3),BF:LINE(40,161)-(79,168),FNCJ(6,3),BF 620 PSET(16,64),FNCJ(2,1):DRAW"U16R8U16R8U8R8U8R8U8R32D8R8D8R8D8R8D8R8D24L8D8L8D8L8D8L16U8L16D8L24U8L8U16L8":PAINT(18,60),FNCJ(2,1) 630 GET(120,103)-(127,110),A1:RESTORE 635:FOR K=1 TO 7:READ X,Y:PUT(X*8,Y*8),A1,PSET:NEXT K:RETURN 635 DATA 7,2,8,4,5,5,11,6,4,7,9,7,6,8 650 FOR A=0 TO I STEP K:LINE(X+A,Y-ABS(A))-(X+A+7,Y-ABS(A)-7),CLR,BF:NEXT A:RETURN 660 PSET(295,102),CLR:DRAW"S4U7L8U8L8U8L8U8L8U8L95":RETURN 799 REM ------ COUNT GRAPHICS 800 CX=CX+12:PRESET(CX,CY),POINT(CX,CY) :DRAW"S4C="+VARPTR$(XLR) 803 ON AA GOSUB 812,818,821,827,836,839,845,854,863,872 806 PAINT(CX+2+CLX,CY-16),XLR :CX=CX-12:RETURN 809 '--numbers 812 RETURN '--no zero 818 DRAW"BU2U5R3U19L3U4e3R5d26R3D5L11":CLX=3:RETURN '--1 821 DRAW"BU2BL4u5e1u1e13u1e1u1h3l3g3d3l5u5br20d4g1d1g14r15d5l20" 824 CIRCLE(CX+7,CY-23),10,XLR,0,3.1,1:CLX=6:RETURN '---2 827 DRAW"BL4bu11r5d2f2r5e2u3h3l3u5r3e3u3h2l5g2d2l5br20d2g1d1g2d1f2d1f1d2" 830 CIRCLE(CX+6,CY-25),10,XLR,0,3.1,.8:CIRCLE(CX+6,CY-10),10,XLR,3.1,,.8 833 CLX=7:RETURN '--3 836 DRAW"BL8bu11nr16u5e17r4d17r4d5l4d9l5u9bu5nu9l9e9":CLX=-7:RETURN 839 DRAW"BL5bu13r5d2f4r4e4u3h4l12u15r20d5l15d5r8" 842 CIRCLE(CX+6,CY-13),11,XLR,3.1,1.2,1:CLX=12:RETURN '--5 845 DRAW"BL5bu12u13br5nd4r1u1e2r6f2d1nr5bd11d4g3l4h3u4e3r4f3" 848 CIRCLE(CX+6,CY-25),10,XLR,0,3.1,.8:CIRCLE(CX+6,CY-12),10,XLR,3.1,2.2,1 851 CLX=-4:RETURN '-6 854 DRAW"BU2br6nu9l5nu9bl5bu26nr13u5r20d6 " 857 CIRCLE(CX+25,CY),35,XLR,2.25,2.75 ,1.4 860 CIRCLE(CX+30,CY+2),35,XLR,2.2,2.75 ,1.4:CLX=5 :RETURN '--7 863 CIRCLE(CX+6,CY-25),10,XLR,5.5,3.9,.8:CIRCLE(CX+6,CY-12),12,XLR,2.4,.8,.8 866 CIRCLE(CX+6,CY-25),5,XLR,,,.9000001:CIRCLE(CX+6,CY-12),6,XLR,,,.9000001 869 CLX=-4:RETURN '-8 872 DRAW"BL4bu10r5d1f3r4e4u5bl1bu6u4h3l4g3d4f3r4e3br6nu1nd11" 875 CIRCLE(CX+6,CY-23),10,XLR,0,5.4,1:CIRCLE(CX+6,CY-10),10,XLR,3.1,,.8 878 CLX=14:RETURN '-9 899 REM ------ START/MENU 900 ON ERROR GOTO 62000:LOCATE ,,0,6,7:DEFINT A-Z 902 KEY OFF:KEY 1,"":RANDOMIZE VAL(RIGHT$(TIME$,2))*60+VAL(MID$(TIME$,4,2)):DEF SEG=&HF000:PCJR=PEEK(&HFFFE)=&HFD:DEF SEG:KEYMODE=&H40 904 DIM N$(26),A1(26),A2(26),A3(26),CHAR(1560),RW(3),LSP(26),CP(24),NT$(12),USED(26),NT2$(12),NT3$(12),NO$(25) 906 DEF FNC(C)=C:DEF FNCJ(J,P)=(J AND NOT SCREEN1) OR (P AND SCREEN1):DEF FNP(P)=P 908 BL1$="nr20u150r20nr25bd20nr25d40nr25bd20" :SCL=4:GAME=0 909 BL2$="nr20u150r90d20l70d45r60d20l60d45":GOSUB 25000 910 SCREEN1=0:IF NOT PCJR THEN SCREEN1=-1:DEF SEG=0:POKE &H417,&H60 911 A$=INKEY$:IF A$<>"" THEN GOTO 910:ELSE LOCATE 1,1,0 915 GAME=(GAME MOD 9)+1:IF PCJR THEN SCREEN 5 ELSE SCREEN 1:COLOR 0,0 916 ON GAME GOSUB 530,540,550,560,510,520,7010,570,9000 917 FOR TIME=1 TO 300 - ((GAME < 5 AND GAME > 1) *100):A$=INKEY$:IF A$<>"" THEN 921 918 NEXT TIME:CLS:GOSUB 56:GOTO 915 921 A=ASC(A$):A$=INKEY$:IF A$<>"" THEN 921 925 IF A=19 AND NOT PCJR THEN GOSUB 97:GOTO 918 926 IF A=4 THEN 8500 930 IF A=9 THEN 10000 931 IF A=16 THEN 8400 932 IF A=23 THEN 30000 940 SCL=4 950 ON GAME GOTO 1000,2000,3000,4000,5000,6000,7000,8000,9050 1000 REM ------ MATCH NUMBERS GAME 1002 CLS:IF PCJR THEN SCREEN 5 ELSE SCREEN 1:COLOR 0,0 1003 GOSUB 57:GOSUB 1010:GOSUB 40:GOSUB 50:GOTO 1015 1010 LOCATE 12,FNP(8):PRINT "M A T C H N U M B E R S";:RETURN 1015 CLS:LOCATE 25,8:PRINT "CAN YOU MATCH THIS NUMBER?"; 1028 CY=160 1030 X=10:GOSUB 20:GOSUB 110:AA=AA-1 1032 GOSUB 33:CX=110:GOSUB 1525 1035 GOSUB 10:IF AA=VAL(A$) AND ASC(A$)>47 AND ASC(A$)<58 THEN 1038 ELSE GOSUB 42:GOTO 1035 1038 LOCATE 25,8:PRINT SPACE$(26);:GOSUB 205 1040 GOSUB 41:IF SND.MODE>0 THEN PLAY"MFP64" 1041 GOSUB 55:CLS:GOTO 1030 1060 '-----draw letters 1065 DRAW"bl10m+50,-150r22m+50,+150l22m-18,-54nl42bm-7,-21nl28m-14,-42m-14,+42 1070 DRAW"bm-7,+21m-18,+54l23" :CLX=15 :RETURN '--A 1075 DRAW"X"+VARPTR$(BL1$)+"NR30D50NR30BD20NR30" '--B 1080 CIRCLE(CX+45*SL!,CY-110*SL!),SL!*40,CLR,5.55,1.6,1 1085 CIRCLE(CX+45*SL!,CY-110*SL!),SL!*20,CLR,4.7,1.6,1 1090 CIRCLE(CX+50*SL!,CY-45*SL!),SL!*45,CLR,4.7,.9799999,1 1095 CIRCLE(CX+50*SL!,CY-45*SL!),SL!*25,CLR,4.7,1.6,1 :RETURN 1100 DRAW"br87BU45nr20bu60r20" '--C 1105 CIRCLE(CX+50*SL!,CY-75*SL!),SL!*75,CLR,.45,5.82,1.2 1110 CIRCLE(CX+50*SL!,CY-75*SL!),SL!*55,CLR,.61,5.65,1.25 :CLX=-10 :RETURN 1115 DRAW"bl5nr20u150r20nR24BD20nr24D110nr24bd20nr24" '--D 1120 CX=CX-5 :CIRCLE(CX+45,CY-75),75,CLR,4.7,1.6,1.2 1125 CIRCLE(CX+45,CY-75),55,CLR,4.7,1.6,1.3 :RETURN 1130 DRAW"br5NR90x"+VARPTR$(BL2$)+"R70D20" :RETURN '--E 1135 DRAW"br5x"+VARPTR$(BL2$)+"D20" :RETURN '--F 1140 DRAW"br87BU45l30u20r50d65l20u15bu90r20" '--G 1145 CIRCLE(CX+50,CY-75),75,CLR,.45,5.38,1.2 1150 CIRCLE(CX+50,CY-75),55,CLR,.61,5.65,1.25 :CLX=-10 :RETURN 1155 DRAW"br5nr20u150r20D60R50U60R20D150L20U70L50D70" :RETURN '--H 1160 DRAW"br45U150r20d150l20" :CLX=45 :RETURN '--I 1165 DRAW"BU45u5r20d5br50u105r20d105" '--J 1170 CIRCLE(CX+45,CY-45),45,CLR,3.1,,1 1175 CIRCLE(CX+45,CY-45),25,CLR,3.1,,1 :CLX=70 :RETURN 1180 DRAW"nr20u150r20d70m+60,-70r25m-57,+67m+60,+83l26m-48,-68m-14,+16d52" '-K 1185 RETURN 1190 DRAW"br5nr20u150r20D130R70D20L70" :RETURN '--L 1195 DRAW"bl10nr20u150r20m+40,+110m+40,-110r20d150l20u90m-32,+90l16m-32,-90d90 1200 CLX=-10 :RETURN '--M 1205 DRAW"nr20u150r21m+60,+110u110r20d150l21m-60,-110d110" :RETURN '--N 1210 CIRCLE(CX+50,CY-75),75,CLR,,,1.2 '--O 1215 CIRCLE(CX+50,CY-75),55,CLR,,,1.25 :CLX=-10 :RETURN 1220 DRAW"br8x"+VARPTR$(BL1$)+"NR30D70" '--P 1225 CX=CX+8 :CIRCLE(CX+45,CY-110),40,CLR,4.7,1.6,1 1230 CIRCLE(CX+45,CY-110),20,CLR,4.7,1.6,1 :RETURN 1235 DRAW"BR110H18bh15h12m+8,-20F15bf15f15m-8,+20" '--Q 1240 CIRCLE(CX+50,CY-75),75,CLR,5.7 ,5.44,1.2 1245 CIRCLE(CX+50,CY-75),55,CLR,5.77,5.41,1.25 :CLX=-10 :RETURN 1250 DRAW"br5x"+VARPTR$(BL1$)+"ND70r20m+30,+70r22m-31,-73" '--R 1255 CX=CX+5 :CIRCLE(CX+45,CY-110),40,CLR,5.14,1.6,1 1260 CIRCLE(CX+45,CY-110),20,CLR,4.7,1.6,1 :RETURN 1265 DRAW"bu46r20bu20br47 nm-43,-23be13nm-46,-27bu37nl5nr18" '--S 1270 CIRCLE(CX+50*SL!,CY-117*SL!),SL!*47,CLR,,4.1,.7 1275 CIRCLE(CX+50*SL!,CY-117*SL!),SL!*24,CLR,,3.95,.6 1280 CIRCLE(CX+50*SL!,CY-44*SL!),SL!*50,CLR,3.1,.95,.87 1285 CIRCLE(CX+50*SL!,CY-45*SL!),SL!*29,CLR,3.1,.9000001,.87 :CLX=60 :RETURN 1290 DRAW"BR40U130L40U20R100D20L40D130L20" :CLX=40 :RETURN '--T 1295 DRAW"br5BU45u105r20d105br50u105r20d105" '--U 1300 CX=CX+5 :CIRCLE(CX+45,CY-45),45,CLR,3.1,,1 1305 CIRCLE(CX+45,CY-45),25,CLR,3.1,,1 :RETURN 1310 DRAW"Br40m-50,-150r22m+38,114m+38,-114r22m-50,+150l20" :CLX=15:RETURN '-V 1315 DRAW"BR10M-30,-150R21M+20,+100M+20,-100R21M+20,+100M+20,-100R21M-30,+150" 1320 DRAW"l21M-20,-100M-20,+100L21" :RETURN '--W 1325 DRAW"nr20M+40,-75M-40,-75R21M+30,+56M+30,-56R21M-40,+75M+40,+75L21M-30,-56 1330 DRAW"m-30,+56" :CLX=45 :RETURN '--X 1335 DRAW"br40u75M-41,-75R21M+30,+56M+30,-56R21M-41,+75d75L20" :CLX=45 :RETURN 1340 DRAW"U20M+80,-110L80U20R105D20M-80,+110R80D20L105" :CLX=45 :RETURN 1345 '--numbers 1350 CIRCLE(CX+50,CY-75),75,CLR,,,1.37 '--0 1365 CIRCLE(CX+50,CY-75),55,CLR,,,1.5 :RETURN 1370 DRAW"br45U118L12U18E14r18d150l20" :CLX=45 :RETURN '--1 1375 DRAW"R100U20L72NM+53,-58BL28ND20NM+67,-72BU89BR5R20" :CLX=60 '-2 1380 CIRCLE(CX+50,CY-109),45,CLR,5.5,3.15,.9199999 1385 CIRCLE(CX+50,CY-109),25,CLR,5.5,3.15,.9000001 :RETURN 1390 DRAW"BU46R20BR30BU27U20BU20BL22L18" '--3 1395 CIRCLE(CX+50,CY-113),40,CLR,5.48,3.1,.9199999 1400 CIRCLE(CX+50,CY-113),22,CLR,4.75,3.1,.9000001 1405 CIRCLE(CX+50,CY-46),50,CLR,3.15,.97,.9199999 1410 CIRCLE(CX+50,CY-46),30,CLR,3.15,1.56,.9000001 :CLX=50 :RETURN 1415 DRAW"BL10BU51NR76U21E78R18D79R20D20L20D51L20U51BU20NU52L52E52" :RETURN '-4 1420 DRAW"BU47NR20BU27BR5NR45U76R85D20L65D37R26" '-5 1425 CIRCLE(CX+50,CY-46),50,CLR,3.15,1.56,.9199999 1430 CIRCLE(CX+50,CY-46),30,CLR,3.15,1.56,.9000001 :RETURN 1435 DRAW"BR3BU42U5H1U6H1U9H1U22E1U9E1U6E1U5BR20D3G1D5G1D6G1D9G1D2BU23BR56R20 1440 CIRCLE(CX+49,CY-104),46,CLR,,3,1 1445 CIRCLE(CX+49,CY-104),26,CLR,,3,1 1450 CIRCLE(CX+50,CY-46),46,CLR,3.2,2.3,1 1455 CIRCLE(CX+50,CY-46),26,CLR,,,1 :RETURN 1460 DRAW"BU130NR70U20R95D20BD130BL44L19" '-7 1465 CIRCLE(CX+115,CY+10),166,CLR,2.18,3.07,2 1470 CIRCLE(CX+143,CY+10),166,CLR,2.16,3.07,1.8 :CLX=40 :RETURN 1475 CIRCLE(CX+50,CY-113),40,CLR,5.48,3.95,.9199999 '-8 1480 CIRCLE(CX+50,CY-113),22,CLR,,,.9000001 1485 CIRCLE(CX+50,CY-46),50,CLR,2.2,.97,.9199999 1490 CIRCLE(CX+50,CY-46),30,CLR,,,.9000001 :CLX=12 :RETURN 1495 DRAW"BR4BU45R20BR72U1E1U6E1U9E1U12H1U10H1U9H1U6H1U5BL17BD42D12G1D8" '-9 1500 CIRCLE(CX+49,CY-104),46,CLR,,5.4,1 1505 CIRCLE(CX+49,CY-104),26,CLR,,,1 1510 CIRCLE(CX+50,CY-46),46,CLR,3.2,,1 1515 CIRCLE(CX+50,CY-46),26,CLR,3.2,,1 :CLX=12:RETURN 1520 '---display char 1525 SL!=SCL/4: CLX=0 :PRESET(CX,CY) :DRAW"C="+VARPTR$(CLR)+"S="+VARPTR$(SCL) 1530 IF GAME>0 AND GAME<5 THEN 1560 1550 ON AA GOSUB 1065,1075,1100,1115,1130,1135,1140,1155,1160,1165,1180,1190, 1195,1205,1210,1220,1235,1250,1265,1290,1295,1310,1315,1325,1335,1340 1555 GOTO 1565 1560 ON AA+1 GOSUB 1350,1370,1375,1390,1415,1420,1435,1460,1475,1495 1565 PAINT(CX+(10+CLX)*SL!,CY-75*SL!),CLR 1570 RETURN 2000 REM ------ COUNT GAME 2010 CLS:IF NOT PCJR THEN SCREEN 0:GOSUB 57:COLOR 9 2011 GOSUB 2021:GOSUB 40:LEVEL=1:NR=1:NW=1:GOSUB 50:GOTO 2090 2021 GOSUB 55:LOCATE 12,FNP(15),0:PRINT "C O U N T";:RETURN 2090 CLS:IF PCJR THEN SCREEN 5:GOSUB 37 ELSE SCREEN 1:GOSUB 33 2091 LOCATE 25,FNP(12),0:PRINT "HOW MANY BLOCKS?"; 2100 GOSUB 60 2150 GOSUB 20:IF PCJR THEN GOSUB 37 ELSE GOSUB 34 2151 XLR=0:TRY=9:GOSUB 2550:TRY=0:IF PCJR THEN CLR=CLR-8 2160 GOSUB 10 2165 IF A<>VAL(A$) THEN 2170 ELSE CLS:IF NOT PCJR THEN SCREEN 1 2166 GOSUB 33:AA=A:CX=110:CY=160:GOSUB 1525:GOSUB 41:IF PCJR THEN GOSUB 50 ELSE GOSUB 52 2167 NR=NR+1:CLS:GOTO 2100 2170 GOSUB 42:TRY=TRY+1:GOSUB 2550:GOSUB 94:IF A=VAL(A$) THEN 2165 ELSE 2160 2550 GOSUB 50: AA=1:NRW=INT((A-1)/3)+1:IF NRW=1 THEN RW(1)=A 2560 IF NRW=2 THEN RW(2)=INT(A/2):RW(1)=A-RW(2) 2570 IF NRW=3 THEN RW(1)=3:RW(2)=3:RW(3)=A-6 2580 SPY=(170-NRW*35)/(NRW+1):FOR I=1 TO NRW:CY=30+SPY*I+((I-1)*35):SPX=(319-RW(I)*35)/(RW(I)+1) 2590 FOR J=1 TO RW(I):AA=AA+1:CX=SPX*J+((J-1)*35) 2600 GOSUB 2810:NEXT J:NEXT I 2610 IF TRY=4 THEN GOSUB 56:CLS:CX=110:CY=160:GOSUB 33:AA=A:GOSUB 1525:GOSUB 52:GOSUB 52:GOSUB 70:CLS:NW=NW+1:GOTO 2100 2620 RETURN 2670 REM 2700 GOSUB 800:GOSUB 46:GOSUB 51:RETURN 2800 REM --- responce to wrong try 2810 IF TRY=9 THEN LINE(CX,CY-35)-(CX+35,CY),CLR,BF:GOSUB 46:GOSUB 51:RETURN 2815 ON TRY+1 GOTO 2820,2830,2850,2860,2870 2820 LINE(CX,CY-35)-(CX+35,CY),CLR,BF:RETURN 2830 CLR=INT((POINT(CX,CY)+1) MOD FNCJ(15,3))+1 2840 LINE(CX,CY-35)-(CX+35,CY),CLR,BF:GOSUB 46:GOSUB 51:RETURN 2850 GOSUB 2700:GOSUB 51:LINE(CX,CY-35)-(CX+35,CY),POINT(CX,CY),BF:RETURN 2860 GOSUB 2700:RETURN 2870 FOR K=1 TO 4:GET(CX,CY-35)-(CX+35,CY),CHAR:LINE(CX,CY-35)-(CX+35,CY),POINT(CX,CY),BF:GOSUB 46:GOSUB 56:PUT(CX,CY-35),CHAR,PSET:GOSUB 56:NEXT K:LINE(CX,CY-35)-(CX+35,CY),POINT(CX,CY),BF 2880 RETURN 3000 REM ------ ADD GAME 3010 CLS:IF PCJR THEN SCREEN 5 ELSE SCREEN 0:GOSUB 57:COLOR 2 3011 GOSUB 3012:GOTO 3020 3012 LOCATE 12,FNP(18),0:PRINT "A D D";:RETURN 3020 GOSUB 40:GOSUB 50:LEVEL=1:NR=1:NW=1 3100 GOSUB 60:IF X=3 THEN X=4 3102 GOSUB 20:IF A=1 THEN A=2 3103 IF A=AZ THEN 3102 3105 CLS:IF NOT PCJR THEN SCREEN 1:GOSUB 33 3106 GOSUB 34:IF CLR=OLDCLR THEN 3106 ELSE OLDCLR=CLR 3107 GOSUB 34:IF CLR=OLDOPCLR THEN 3107 ELSE OPCLR=CLR:OLDOPCLR=CLR:CLR=OLDCLR 3108 TRY=9:XLR=0:GOSUB 3200:TRY=0:AZ=A:GOSUB 34 3110 GOSUB 10 3115 IF A<>VAL(A$) THEN 3120 ELSE CLS:IF NOT PCJR THEN SCREEN 1 3116 GOSUB 33:AA=A:CX=110:CY=160:GOSUB 1525:GOSUB 41:GOSUB 50:GOSUB 50:NR=NR+1:GOTO 3100 3120 GOSUB 42:TRY=TRY+1:GOSUB 3220:GOSUB 94:IF A=VAL(A$) THEN 3115 ELSE 3110 3200 RW(1)=CINT(RND(3)*(A-2))+1:IF RW(1)>5 THEN RW(1)=5 3210 RW(2)=A-RW(1):IF RW(2)>5 THEN RW(1)=RW(1)+(RW(2)-5):RW(2)=5 3220 AA=1:FOR I=1 TO 2:SPY=((199-RW(I)*40)/2)-2:CX=-135+(I*160) 3222 IF TRY=9 AND I=2 THEN LINE(100,97)-(140,107),OPCLR,BF:LINE(115,87)-(125,117),OPCLR,BF:GOSUB 55 ELSE GOSUB 55 3230 FOR J=1 TO RW(I):AA=AA+1:CY=SPY+(J*40) 3240 GOSUB 2810:NEXT J:NEXT I 3250 IF TRY=4 THEN GOSUB 55:CLS:CX=110:CY=160:GOSUB 33:AA=A:GOSUB 1525:GOSUB 52:GOSUB 52:NW=NW+1:GOSUB 70:GOTO 3100 3260 IF TRY=9 THEN LINE(260,87)-(300,97),OPCLR,BF:LINE(260,107)-(300,117),OPCLR,BF 3270 RETURN 4000 REM ------ SUBTRACT GAME 4010 CLS:IF PCJR THEN SCREEN 5 ELSE SCREEN 0:GOSUB 57:COLOR 14 4011 GOSUB 4031:GOTO 4040 4031 GOSUB 55:LOCATE 12,FNP(12),0:PRINT "S U B T R A C T";:RETURN 4040 GOSUB 40:GOSUB 50:LEVEL=8:NR=1:NW=1 4100 CLRFL=0:CLRFL2=0:GOSUB 60:IF X=9 THEN X=8 4101 GOSUB 20:IF A<3 THEN A=3 4102 IF A=AZ THEN 4101 4105 CLS:IF NOT PCJR THEN SCREEN 1 4106 GOSUB 33:IF CLR=OLDCLR THEN 4106 ELSE OLDCLR=CLR:GOSUB 34:OPCLR=CLR:CLR=OLDCLR 4107 TRY=9:XLR=0:AZ=A:GOSUB 4200:TRY=0 4110 GOSUB 10 4115 IF A<>VAL(A$) THEN 4120 ELSE CLS:IF NOT PCJR THEN SCREEN 1 4116 GOSUB 33:AA=A:CX=110:CY=160:GOSUB 1525:GOSUB 41:GOSUB 52:NR=NR+1:GOSUB 94:GOTO 4100 4120 GOSUB 42:TRY=TRY+1:GOSUB 4220:GOSUB 94:IF A=VAL(A$) THEN 4115 ELSE 4110 4200 RW(1)=CINT(RND(3)*(A-2))+1:IF RW(1)>5 THEN RW(1)=5 4210 RW(2)=A-RW(1):IF RW(2)>5 THEN RW(1)=RW(1)+(RW(2)-5):RW(2)=5 4215 A=ABS(RW(1)-RW(2)):IF RW(2)>RW(1) THEN SWAP RW(2),RW(1) 4218 IF A=0 THEN A=A+2:RW(1)=RW(1)+1:RW(2)=RW(2)-1 4220 AA=1:FOR I=1 TO 2:SPY=((199-RW(I)*40)\2)-2:CX=-135+(I*160) 4230 IF I=2 THEN LINE(100,97)-(140,107),OPCLR,BF:GOSUB 55 4240 FOR J=1 TO RW(I) 4245 IF I=1 THEN AA=AA+1:CY=SPY+(J*40) ELSE AA=AA-1:CY=234-SPY-(J*40) 4250 IF TRY=9 THEN LINE(CX,CY-35)-(CX+35,CY),CLR,BF:GOSUB 46:GOSUB 51:GOTO 4700 4260 ON TRY+1 GOTO 4270,4280,4400,4500,4550,4600 4270 LINE(CX,CY-35)-(CX+35,CY),CLR,BF:GOTO 4700 4280 IF I=1 AND CLRFL=0 THEN GOSUB 34:IF CLR=OLDCLR OR CLR=OPCLR THEN 4280 ELSE LEFTCLR=CLR:CLRFL=1:GOTO 4310 4290 IF I=2 AND CLRFL2=0 THEN GOSUB 34:IF CLR=OLDCLR OR CLR=LEFTCLR OR ((CLR=OPCLR) AND NOT SCREEN1) THEN 4290 ELSE RGHTCLR=CLR:CLRFL2=1 4300 X=25:Y=((199-RW(1)*40)\2)-2+(AA-1)*40:LINE(X,Y-35)-(X+35,Y),CLR,BF 4310 LINE(CX,CY-35)-(CX+35,CY),CLR,BF:GOSUB 46:GOSUB 55:GOTO 4700 4400 IF I=1 AND J<=A THEN GOSUB 2700:GOSUB 51:LINE(CX,CY-35)-(CX+35,CY),POINT(CX,CY),BF:GOTO 4700 4405 IF I=1 GOTO 4700 4410 X=25:Y=((199-RW(1)*40)\2)-2+(AA-1)*40:PSET(X+3,Y-3),0:GOSUB 4800 4420 PSET(CX+3,CY-3),0:GOSUB 4800:GOSUB 46:GOSUB 51 4430 LINE(X,Y-35)-(X+35,Y),CLR,BF:LINE(CX,CY-35)-(CX+35,CY),CLR,BF:GOTO 4700 4500 IF I=1 AND J<=A THEN GOSUB 2700:GOTO 4700 4505 IF I=1 THEN 4700 4510 X=25:Y=((199-RW(1)*40)\2)-2+(AA-1)*40:PSET(X+3,Y-3),0:GOSUB 4800 4520 PSET(CX+3,CY-3),0:GOSUB 4800:GOSUB 46:GOSUB 50:GOTO 4700 4550 IF I=1 THEN 4700 4560 X=25:Y=((199-RW(1)*40)\2)-2+(AA-1)*40:GOSUB 4850:GOSUB 50:GOTO 4700 4600 IF I=1 AND J<=A THEN 4610 ELSE 4700 4610 FOR K=1 TO 4:GET(CX,CY-35)-(CX+35,CY),CHAR:LINE(CX,CY-35)-(CX+35,CY),POINT(CX,CY),BF:GOSUB 46:GOSUB 56:PUT(CX,CY-35),CHAR,PSET:GOSUB 56:NEXT K:LINE(CX,CY-35)-(CX+35,CY),POINT(CX,CY),BF 4700 NEXT J:AA=AA+1:NEXT I:IF TRY=4 THEN TRY=5:GOTO 4220 4710 IF TRY=5 THEN GOSUB 56:CLS:CX=110:CY=160:GOSUB 33:AA=A:GOSUB 1525:GOSUB 52:GOSUB 52:NW=NW+1:GOSUB 70:GOTO 4100 4720 LINE(260,87)-(300,97),OPCLR,BF:LINE(260,107)-(300,117),OPCLR,BF 4730 RETURN 4800 DRAW"NE28L1NE29F1NE29BR29NH29U1NH28R1NH29":RETURN 4850 FOR JJ=0 TO 35 STEP 2:LINE(X+JJ,Y-35+JJ)-(X+35-JJ,Y-JJ),0,B:LINE(CX+JJ,CY-35+JJ)-(CX+35-JJ,CY-JJ),0,B :IF SND.MODE>0 THEN PLY=45+JJ:PLAY"MBL64N="+VARPTR$(PLY) 4860 GOSUB 56:NEXT JJ:RETURN 5000 REM ------ MATCH LETTERS 5002 CLS:IF PCJR THEN SCREEN 5 ELSE SCREEN 1:GOSUB 57:COLOR 0,0 5003 GOSUB 57:GOSUB 5005:GOSUB 40:GOSUB 50:GOTO 5015 5005 LOCATE 12,FNP(8):PRINT "M A T C H L E T T E R S";:RETURN 5015 CLS:LOCATE 25,8:PRINT "CAN YOU MATCH THIS LETTER?"; 5028 CY=160 5030 X=26:GOSUB 20:GOSUB 110 5032 GOSUB 33:CX=110:GOSUB 1525 5035 GOSUB 10:IF AA=ASC(A$)-64 OR AA=ASC(A$)-96 THEN 5038 ELSE GOSUB 42:GOTO 5035 5038 LOCATE 25,8:PRINT SPACE$(26);:GOSUB 205 5040 GOSUB 41:IF SND.MODE>0 THEN PLAY"MFP64" 5041 GOSUB 55:CLS:GOTO 5030 6000 ' 6019 CLS: LOCATE 12,12,0: PRINT "A L P H A B E T";: GOTO 7001 7000 ' 7001 DEF SEG=0:POKE &H4FF,GAME:IF PCJR THEN RUN"EG67JR" ELSE RUN "EG67PC 7010 CLS:GOSUB 57:CLR=3:SCL=2:CY=130:CX=6:AA=14:GOSUB 1525:CX=70:AA=1:GOSUB 1525:CX=140:AA=13:GOSUB 1525:CX=205:AA=5:GOSUB 1525:CX=260:AA=19:GOSUB 1525:SCL=4:RETURN 8000 DEF SEG=0:POKE &H4FF,GAME:RUN"EGDRAW 8400 GAME=24:GOTO 8000 8500 GAME=16:GOTO 8000 9000 REM ------ COMPARE SHAPES GAME 9010 CLS:GOSUB 57:IF NOT PCJR THEN SCREEN 1:COLOR 0,1 9011 SCL=4:GOSUB 9060:CLR=FNCJ(5,2):NUM1=8:NUM2=6 :AZ=2:X=5:Y=60:GOSUB 9240:RETURN 9031 CLS:LOCATE 12,7,0:PRINT "C O M P A R E S H A P E S";:RETURN 9050 CLS: IF PCJR THEN SCREEN 5:COLOR 4,0 ELSE SCREEN 0:GOSUB 57:COLOR 4 9051 GOSUB 9031:GOSUB 40:GOSUB 50:CLS:IF NOT PCJR THEN SCREEN 1: GOSUB 57 9052 GOSUB 33:GOSUB 9060:GOTO 9100 9060 XLR=FNCJ(7,3):CY=180:CX=23:FOR AA=2 TO 5:GOSUB 800:CX=CX+80:NEXT AA:RETURN 9100 Y=60:LINE(0,0)-(319,140),0,BF:GOSUB 34:GOSUB 9220 9150 GOSUB 94:GOSUB 10:IF VAL(A$)=AZ THEN X=-75+(AZ*80):AA=NUM1:GOSUB 34:GOSUB 9270:GOSUB 41:GOSUB 50:GOSUB 50:GOTO 9100 9160 GOSUB 42:GOTO 9150 9210 ' 9220 NUM1=CINT(RND(9)*13)+1:X=5 9225 AZ=CINT(RND(8)*3)+1:IF AZ=P THEN 9225 ELSE P=AZ 9230 NUM2=CINT(RND(9)*13)+1 :IF NUM2=NUM1 THEN 9230 9240 FOR I=1 TO 4 9250 IF I=AZ THEN AA=NUM1 ELSE AA=NUM2 9260 GOSUB 9275:X=X+80:NEXT I:RETURN 9270 REM 9275 ON AA GOSUB 9300,9310,9330,9400,9410,9430,9440,9450,9460,9480,9485,9490,9500,9520 9280 RETURN 9290 '-------shapes ------ 9300 LINE (X,Y)-(X+70,Y+70),CLR,BF:RETURN '--sqr 9310 LINE (X,Y)-(X+70,Y+70),CLR,B :LINE(X+15,Y+15)-(X+55,Y+55),CLR,B 9320 PAINT(X+5,Y+5),CLR:RETURN '--sqr bdr 9330 CIRCLE(X+35,Y+35),35,CLR,,,1 '--cir w/face 9340 PSET(X+24,Y+26),CLR:DRAW"u3h2l3g4d4r1e1u1e2r3f1" 9350 PSET(X+46,Y+27),CLR:DRAW"u4e2r3f4d5l1h1u1h2l3g1" 9360 CIRCLE(X+35,Y+35),25,CLR,3.64,5.8,1 9370 CIRCLE(X+35,Y+38),25,CLR,3.64,5.78,.6 9380 CIRCLE(X+35,Y+38),7,CLR,,,1 :PAINT(X+35,Y+5),CLR 9390 CIRCLE(X+22,Y+50),11,0,2,4,1:CIRCLE(X+48,Y+50),11,0,5.4,1.1,1:RETURN 9400 CIRCLE(X+35,Y+35),35,CLR,,,1:PAINT(X+35,Y+5),CLR:RETURN '--sphere 9410 CIRCLE(X+35,Y+35),35,CLR,,,1:CIRCLE(X+35,Y+35),20,CLR,,,1 9420 PAINT(X+35,Y+5),CLR:RETURN '--cir/bdr 9430 PSET(X+35,Y),CLR:DRAW"m-35,+70r70m-35,-70":PAINT(X+35,Y+5),CLR:RETURN 9440 LINE(X+10,Y)-(X+60,Y+70),CLR,BF:RETURN '--vert retang 9450 PSET(X,Y),CLR:DRAW"nm+35,+70r70m-35,+70":PAINT(X+5,Y+5),CLR:RETURN 9460 LINE(X+10,Y)-(X+60,Y+70),CLR,B:LINE(X+25,Y+15)-(X+45,Y+55),CLR,B 9470 PAINT(X+15,Y+5),CLR:RETURN '--vt w/bdr 9480 PSET(X+15,Y),CLR:DRAW"r40m+15,+70l70m+15,-70":PAINT(X+20,Y+2),CLR:RETURN 9485 PSET(X,Y),CLR:DRAW"r70m-15,+70l40m-15,-70":PAINT(X+20,Y+2),CLR:RETURN 9490 PSET(X+20,Y),CLR:DRAW"r30F20D30G20L30H20U30E20":PAINT(X+25,Y+2),CLR:RETURN 9500 PSET(X+15,Y),CLR:DRAW"r55m-15,+70l55m+15,-70":PAINT(X+30,Y+5),CLR:RETURN 9510 RETURN '--parall 9520 PSET(X+35,Y),CLR:DRAW"nm-9,+27m+9,+27r26m-21,+16m+9,+27m-23,-17m-23,+17m+9,-27m-21,-16r26":PAINT(X+35,Y+5),CLR:RETURN '--star 10000 REM ------ READ IN INSTRUCTIONS 10010 SCREEN 0,1,0,0:CLS:LOCATE ,,0:GOSUB 43:GOSUB 43:ON ERROR GOTO 62000 10020 NAM$="PAGE1.BSV":GOSUB 10060:GOSUB 10 10030 NAM$="PAGE2.BSV":GOSUB 10060:GOSUB 10:GOTO 62000 10060 DEF SEG=&HB800:BLOAD NAM$,0:DEF SEG:RETURN 25000 ' SET SOUND 25010 DEF SEG=0:I=PEEK(&H4F0) AND 3:SND.MODE=1:IF I>0 THEN SND.MODE=I-1 25020 V12$="":V13$="":V14$="":V15$="":IF PCJR THEN IF SND.MODE<>2 THEN SOUND OFF ELSE SOUND ON:V12$="V12":V13$="V13":V14$="V14":V15$="V15" 25030 RETURN 30000 REM ------ WORD MENU 30005 CLS:GOSUB 57:SCREEN 0,1:CLS:GOSUB 57 30010 COLOR FNC(12):LOCATE 2,FNP(11):PRINT"1 = MATCH NUMBER GAME 30020 COLOR FNC(9):LOCATE 4,FNP(11):PRINT"2 = COUNT GAME 30030 COLOR FNC(13):LOCATE 6,FNP(11):PRINT"3 = ADD GAME 30040 COLOR FNC(10):LOCATE 8,FNP(11):PRINT"4 = SUBTRACT GAME 30050 COLOR FNC(14):LOCATE 10,FNP(11):PRINT"5 = MATCH LETTERS 30060 COLOR FNC(11):LOCATE 12,FNP(11):PRINT"6 = ALPHABET GAME 30070 COLOR FNC( 3):LOCATE 14,FNP(11):PRINT"7 = NAME GAME 30080 COLOR FNC( 5):LOCATE 16,FNP(11):PRINT"8 = DRAW GAME 30090 COLOR FNC( 4):LOCATE 18,FNP(11):PRINT"9 = COMPARE SHAPES GAME 30091 COLOR FNC( 7):LOCATE 20,FNP(4):PRINT"<Ctrl-P> = RETRIEVE PICTURE FROM DISK 30092 COLOR FNC( 7):LOCATE 21,FNP(4):PRINT"<Ctrl-D> = DELETE PICTURE FROM DISK 30093 COLOR FNC( 7):LOCATE 22,FNP(4):PRINT"<Ctrl-I> = INSTRUCTIONS 30100 COLOR 7:LOCATE 24,FNP(3),1:PRINT "SELECT:";:LOCATE ,,0 30105 A$=INKEY$:IF A$="" THEN 30105 30106 A=ASC(A$):IF A=9 THEN 10000 ELSE IF A=16 THEN 8400 ELSE IF A=4 THEN 8500 ELSE IF A=19 AND NOT PCJR THEN GOSUB 97:GOTO 30105 ELSE GAME=A-48:CLS:GOSUB 57:IF GAME<1 OR GAME>9 THEN 62000 30130 ON GAME GOTO 1000,2000,3000,4000,5000,6000,7000,8000,9050 62000 RUN 62010:' LOCATE 1,1: PRINT ERR;ERL: STOP: RUN"EGMENU 62010 ON ERROR GOTO 62020: RUN "EGMENU" 62020 SCREEN 0,1: CLS: LOCATE 12,3,0: PRINT "Insert the Early Games program disk": PRINT TAB(8) "and press the <Enter> key." 62030 A$=INKEY$: IF A$<>CHR$(13) THEN 62030 ELSE RUN 62010