Aprendendo a Ler – Volume IV
Série de jogos educativos distribuídos em fita cassete pela Epcom Sistemas (Sharp), fabricante do microcomputador Hotbit – HB8000.
Teste o programa no WebMSX – The Online MSX Emulator
São 4 jogos, com o tema “CASAS”, que procuram ensinar a ler de uma forma bastante lúdica: “Aprendendo Palavras”, “Jogo das Partes”, “Caixa Pintada” e “Pintando a Casa”.
Distribuição: Epcom Sistemas (Sharp)
Ano: 1986
Contribuição: B@ss – Blog do B@ss
Código Fonte do Loader
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
1 GOTO5 3 LOAD"LER4A.BAS",R 5 REM*PROGRAMA EDUCACIONAL = VOLUME IV * 10 SCREEN2:COLOR 10,4,4:CLS 20 LINE(30,40)-(210,150),1,BF:DRAW"C1BM30,40" 30 REM* CIRCLE(36,48),2,15,,,.8:PAINT(37,49),15 50 REM* 60 REM* CIRCLE(36,142),2,15,,,.8:PAINT(37,143),15 70 REM* CIRCLE(204,142),2,15,,,.8:PAINT(205,143),15 140 DRAW"C1M30,40E90R2F89" 160 CIRCLE(121,3),2,1,,,.8:PAINT(122,4),1 162 LINE(20,160)-(31,151),10:LINE(31,151)-(210,151),10:LINE(210,151)-(200,160),10:LINE(200,160)-(20,160),10:PAINT (40,155),10 170 LINE (40,152)-(60,152),6:LINE(60,152)-(60,154),6:LINE(60,154)-(40,154),6:LINE(40,154)-(40,152),6:PAINT(45,153),6 180 LINE(36,158)-(40,155),9:LINE(40,155)-(60,155),9:LINE(60,155)-(64,158),9:LINE(64,158)-(36,158),9:PAINT(40,157),9 185 LINE( 70,154)-(82,156),15,BF:LINE(75,156)-(85,159),15,BF:LINE(110,156)-(121,158),13,BF:LINE(140,156)-(153,158),2,BF:LINE(180,154)-(189,156),5,BF 190 LINE(160,153)-(172,155),15,BF 195 OPEN"GRP:"FOROUTPUTAS#1 200 COLOR6:DRAW"BM70,50":PRINT#1,"EPCOM SISTEMAS":DRAW"BM104,70":COLOR15:PRINT#1,"S‚rie" 210 DRAW"C4BM80,80UL4G4D4F2R4E1U2L3G3G1D3F2R6E6R2E2F2D5G2L3H4BM92,88U8BM93,95E2U5BM96,93F2R2E2U4" 212 DRAW"C4BM103,93F2R1U4E2R4BM107,94F2R4E2R1E2U2E1R3F2D3G3L2H3BM124,93F3R1U4E2R4BM129,95F2R3E2R1U4D4R1F2R1E1U3E2R2F2D3G2L2H2E1R1E2R3E2F2D5" 214 DRAW"C4BM154,94E2R2F2D5E2U2E2R2F2D2G2L2H2BM168,98F2R3E2E2U7H1L1G1D7F5R14D5F9G12F8G6" 218 CIRCLE(137,84),2,4:REMAINT(137,84),4 220 COLOR12:DRAW"BM58,115":PRINT#1,"Aprendendo a ler " 230 COLOR15:DRAW"BM92,130":PRINT#1,"volume IV " 240 PLAY"T210O4L8EFGL4GL4FEAL2AL8DEL8FL4FL8FL4EDL2G.L4EL8GL4GL8GL4FEACEL4AGFEDL2C." 250 PLAY"L8CDEL4EL4EL8EL4DCFL2FL8DCL4DL8DL4CDL2E.L4CL8EL4EL8EL4DCL2FL4FL4FFGAGGL2E." 255 IFPLAY(0)THENGOTO255 260 GOTO3 |
Código Fonte do Programa
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 |
4 CLEAR300:ON STOP GOSUB5:STOP ON:ON ERRORGOTO4:GOTO10 5 RETURN 10 CLEAR300:GOSUB1640:DEF FNR(X)=INT(RND(1)*X+1):DEF FNS(M$)=(252-LEN(M$)*8)/2:X=RND(-TIME):OPEN"GRP:"FOR OUTPUT AS #1:DIMW$(20):DIMP(10):GOSUB890:GOSUB160:GOTO1480 20 COLOR1,15,15:CLS:GOSUB100:FD=1:GOSUB120:GOSUB30:GOSUB180:GOTO190 30 F=1:X=0:Q=100 40 IFX=10THENPLAY"L4T180BC":RETURNELSEIFX=5THENQ=100 50 X=X+1:M$=W$(P(X)) 60 Q=Q+16:IFX<6THENA$="12,"+STR$(Q)ELSEA$="194,"+STR$(Q) 70 DRAW"BM"+A$+"C"+STR$(F):GOSUB90:GOTO40 80 COLORF 90 PRINT#1,M$;:RETURN 100 FORI=1TO6:LINE(9,96+(I*16))-(79,96+(I*16)),1:LINE(178,96+(I*16))-(248,96+(I*16)),1:NEXTI 110 LINE(9,112)-(9,191),1:LINE(191,112)-(191,191),1:LINE(67,112)-(67,191),1:LINE(79,112)-(79,191),1:LINE(178,112)-(178,191),1:LINE(248,112)-(248,191),1:RETURN 120 FORI=1TO10:ON I GOSUB 570,600,630,660,710,740,790,810,840,870 130 NEXTI:RETURN 140 RETURN 150 DRAW"C4F2E4C"+STR$(FD):RETURN 160 RESTORE:FORY=1TO10:READW$(Y):NEXT:RETURN 170 DATAtelhado,chamin‚,parede,porta,caminho,jardim,janela,celeiro,garagem,cerca 180 CX=69:CY=114:CL=1:GOSUB200:RETURN 190 GOSUB220:GOTO1490 200 LINE(CX,CY)-(CX+8,CY+12),4,BF:RETURN 210 LINE(CX,CY)-(CX+8,CY+12),15,BF:RETURN 220 GOSUB1690 230 IN$=INKEY$:IFIN$=CHR$(31)THENGOSUB250ELSEIFIN$=CHR$(30)THENGOSUB280ELSEIFIN$=CHR$(32)THEN310ELSEIFIN$=CHR$(13)THENRETURNELSE230 240 GOTO230 250 IFCY<=162THENGOSUB210:CY=CY+16:GOSUB200:RETURN 260 IFCY=178ANDCL=1THENGOSUB210:CL=2:CX=180:CY=114:GOSUB200:RETURN 270 IFCY=178ANDCL=2THENGOSUB210:CL=1:CX=69:CY=114:GOSUB200:RETURN 280 IFCY>=115THENGOSUB210:CY=CY-16:GOSUB200:RETURN 290 IFCY=114ANDCL=1THENGOSUB210:CL=2:CX=180:CY=178:GOSUB200:RETURN 300 IFCY=114ANDCL=2THENGOSUB210:CL=1:CX=69:CY=178:GOSUB200:RETURN 310 S=P((CY-98)/16+((CL-1)*5)) 320 FOR I=1TO16 330 IFFD=1THENFD=15ELSEFD=1 340 GOSUB 540 350 FORK=1TO100:NEXTK,I 360 IFFD=15THENFD=1 370 PLAY"O4BC":GOTO220 380 COLOR1,15,15:CLS:GOSUB980:GOSUB890:GOSUB100:FD=1:GOSUB120:GOSUB30:GOSUB500:GOSUB180 390 FORI=1TO10:S=Z(I):GOSUB410:GOSUB460:IFIN$=CHR$(13)THENI=10:IN$="":NEXTIELSEGOSUB520:NEXTI 400 GOTO1460 410 FORJ=1TO10 420 IFFD=1THENFD=15ELSEFD=1 430 GOSUB540 440 FORK=1TO100:NEXTK,J:IFFD=15THENFD=1 450 RETURN 460 GOSUB1690 470 IN$=INKEY$:IFIN$=CHR$(31)THENGOSUB250ELSEIFIN$=CHR$(30)THENGOSUB280ELSEIFIN$=CHR$(32)THEN490ELSEIFIN$=CHR$(13)THENRETURNELSE470 480 GOTO470 490 IF Z(I)=P((CY-98)/16+((CL-1)*5))THENGOSUB530:RETURNELSEGOSUB410:GOTO460 500 LINE(10,0)-(110,10),1,B:FORI=1TO11:LINE(I*10,0)-(I*10,10),1:NEXTI 510 RETURN 520 DRAW"BM"+STR$(2+(I*10))+",5":GOSUB150:RETURN 530 PLAY"T210V15L60CL15EGO3CEGO4CEGO5V8":RETURN 540 ONS GOSUB560,590,620,650,700,730,760,800,830,860 550 RETURN 560 REM** ROOF ** 570 DRAW"C"+STR$(FD)+"BM80,48R76M-16,-20L44M-16,+20":IFCL$="Y"THEN580ELSERETURN 580 PAINT(96,46),FD,FD:RETURN 590 REM** CHIMNEY ** 600 DRAW"C"+STR$(FD)+"BM112,27U4R2U4R2D4L2R5U4R2D4L2R4D4L11":IFCL$="Y"THEN610ELSERETURN 610 PAINT(113,26),FD,FD:RETURN 620 REM** WALLS ** 630 DRAW"C"+STR$(FD)+"BM82,49R72D53L33U23L10D23R10L39U53BD5BR5D12R17U12L17BR57L17D12R17U12BD36U12L17D12R17BL57U12R17D12L17":IFCL$="Y"THEN640ELSERETURN 640 PAINT(90,51),FD,FD:PAINT(94,100),FD,FD:RETURN 650 REM** DOOR ** 660 DRAW"C"+STR$(FD)+"BM120,101U21L8D21R8U11BL2U6L3D6R3":IFCL$="Y"THEN670ELSERETURN 670 PAINT(118,99),FD,FD:PAINT(114,82),FD,FD 680 SF=FD:IFFD=1THENFD=15ELSEFD=1 690 DRAW"C"+STR$(FD)+"BM120,101U21L8D21R8U11BL2U6L3D6R3":IFCL$="Y"THENFD=SF:RETURNELSERETURN 700 REM** PATH ** 710 DRAW"C"+STR$(FD)+"BM121,103M+12,+60L17M-5,-60R10":IFCL$="Y"THEN720ELSERETURN 720 PAINT(118,105),FD,FD:PAINT(121,160),FD,FD:RETURN 730 REM** LAWN ** 740 DRAW"C"+STR$(FD)+"BM130,106M+15,+40R25M-15,-40L25BL25L16M+5,+40R16M-5,-40":IFCL$="Y"THEN750ELSERETURN 750 PAINT(140,108),FD,FD:PAINT(100,110),FD,FD:RETURN 760 REM** WINDOWS ** 770 IFCL$="Y"THENDRAW"C"+STR$(FD)+"BM88,55R15D10L15U10BR40R15D10L15U10BD24R15D10L15U10BL40R15D10L15U10":PAINT(90,56),FD,FD:PAINT(101,62),FD,FD:PAINT(134,56),FD,FD:PAINT(140,62),FD,FD:PAINT(134,80),FD,FD:PAINT(140,87),FD,FD:PAINT(90,80),FD,FD 780 IFCL$="Y"THENPAINT(99,87),FD,FD:SF=FD:FD=1 790 DRAW"C"+STR$(FD)+"BM88,55R15D10L15U10R7D10U5L7R15BR25U5R15D10L15U5R15L8U5D10BD14R8D10L15U10R7D10U5R8L15BL25D5L15U10R15D5L15R7U5D10":IFCL$="Y"THENFD=SF:RETURNELSERETURN 800 REM** SHED ** 810 DRAW"C"+STR$(FD)+"BM78,102L20U23R20D23L5U15L10D15L5U23M+10,-10M+10,+10":IFCL$="Y"THEN820ELSERETURN 820 PAINT(76,100),FD,FD:PAINT(66,82),FD,FD:RETURN 830 REM** GARAGE ** 840 DRAW"C"+STR$(FD)+"BM161,76R28D26L28NU26R4U22R20D22L20BU13BR3U6R4M-4,+6BR14U6L4M+4,+6":IFCL$="Y"THEN850ELSERETURN 850 PAINT(174,82),FD,FD:PAINT(174,100),FD,FD:RETURN 860 REM** FENCE ** 870 DRAW"C"+STR$(FD)+"BM80,104M+5,+58R26U12L27R2M-6,-36BM+6,+36BR54D12R32U12L32BM196,104M+3,+7R3M-6,-16D9":IFCL$="Y"THEN880ELSERETURN 880 PAINT(94,155),FD,FD:PAINT(154,155),FD,FD:PAINT(197,104),FD,FD:RETURN 890 FORI=1TO10 900 FL=0 910 P(I)=FNR(10) 920 FORJ=1TOI 930 IFP(J)=P(I)THENFL=FL+1 940 NEXTJ 950 IF FL>1GOTO900 960 NEXTI 970 RETURN 980 FORI=1TO10 990 FL=0 1000 Z(I)=FNR(10) 1010 FORJ=1TOI 1020 IFZ(J)=Z(I)THENFL=FL+1 1030 NEXTJ 1040 IF FL>1GOTO990 1050 NEXTI 1060 RETURN 1070 C(1)=1:C(2)=2:C(3)=4:C(4)=8:C(5)=10 1080 FORJ=5TO1STEP-1:CS=FNR(J):AC(J)=C(CS):C(CS)=C(J):NEXTJ:AC=FNR(5) 1090 RETURN 1100 CLS:GOSUB1720:GOSUB100:GOSUB120:GOSUB30:GOSUB180 1110 CL$="Y":GOSUB1650:GOSUB1120:GOSUB1660:GOTO1460 1120 GOSUB1690 1130 IN$=INKEY$:IFIN$=CHR$(31)THENGOSUB250ELSEIFIN$=CHR$(30)THENGOSUB280ELSEIFIN$=CHR$(13)THENRETURNELSE1130 1140 GOTO1120 1150 IF PB=1THENRETURNELSES=P((CY-98)/16+((CL-1)*5)) 1160 GOSUB1660:GOSUB540:GOSUB1180 1170 PLAY"O4BC":GOSUB1650:RETURN 1180 IFFD=1THENM1$="preta"ELSEIFFD=2THENM1$="verde"ELSEIFFD=4THENM1$="azul"ELSEIFFD=8THENM1$="vermelha"ELSEM1$="amarela" 1190 M2$=W$(S):GOSUB5000 1200 M3$=" "+M1$ 1210 LINE(80,170)-(176,191),15,BF 1220 W=FNS(M2$) 1230 DRAW"BM"+STR$(W)+",172" 1240 COLOR1:M$=" ":GOSUB90 1250 COLOR1:M$=M2$:GOSUB90:COLORFD 1260 W=FNS(M3$):DRAW"BM"+STR$(W)+",184":M$=" "+M1$:GOSUB90:COLORFD 1270 RETURN 1280 CLS:GOSUB980:GOSUB890:GOSUB1720:GOSUB100:GOSUB120:GOSUB30:GOSUB180 1290 CL$="Y":FORI=1TO10:S=Z(I):GOSUB1070:GOSUB1360:GOSUB1650:GOSUB1300:GOSUB1660:NEXTI:GOTO1460 1300 GOSUB1690 1310 IN$=INKEY$:IFIN$=CHR$(31)THENGOSUB250ELSEIFIN$=CHR$(30)THENGOSUB280ELSEIFIN$=CHR$(32)THEN1330ELSEIFIN$=CHR$(13)THENI=10:RETURNELSE1310 1320 GOTO1310 1330 IF Z(I)<>P((CY-98)/16+((CL-1)*5))ORFD<>DDTHEN1300 1340 GOSUB530:GOSUB1660:GOSUB540 1350 GOSUB1650:RETURN 1360 DD=AC(AC):IFDD=1THENM1$="preta"ELSEIFDD=2THENM1$="verde"ELSEIFDD=4THENM1$="azul"ELSEIFDD=8THENM1$="vermelha"ELSEM1$="amarela" 1370 M2$=W$(S) 1380 M3$=" "+M2$ 1390 LINE(80,170)-(176,191),15,BF 1400 W=FNS(M2$) 1410 DRAW"BM"+STR$(W)+",172" 1420 COLOR1:M$=" ":GOSUB90 1430 COLOR1:M$=M2$:GOSUB5000:GOSUB90:COLORDD 1440 W=FNS(M2$):DRAW"BM"+STR$(W)+",184":M$=M1$:GOSUB90 1450 RETURN 1460 GOSUB1690 1470 IN$=INKEY$:IFIN$<>CHR$(13)THEN1470ELSE1490 1480 MX=30:MY=60 1490 COLOR1,15,15:F=1:SCREEN2 1500 DRAW"BM70,18":M$="Casas":GOSUB90:DRAW"BM50,60":M$="Aprendendo palavras":GOSUB90:DRAW"BM50,80":M$="Jogo das partes":GOSUB90:DRAW"BM50,100":M$="Caixa pintada":GOSUB90:DRAW"BM50,120":M$="Pintando a casa":GOSUB90 1510 GOSUB1700 1520 LINE(MX,MY)-(MX+8,MY+8),4,BF 1530 GOSUB1690 1540 IN$=INKEY$:IFIN$=CHR$(30)THENIFMY>60THENLINE(MX,MY)-(MX+8,MY+8),15,BF:MY=MY-20:GOTO1520 1550 IFIN$=CHR$(31)THENIFMY<120THENLINE(MX,MY)-(MX+8,MY+8),15,BF:MY=MY+20:GOTO1520 1560 IFIN$<>" "THEN1540 1570 IFMY=60THENCL$="N":GOTO20 1580 IFMY=80THENCL$="N":GOTO380 1590 IFMY=100THENCL$="N":PB=1:GOTO1280 1600 IFMY=120THENCL$="N":PB=0:GOTO1100 1610 N$="T12CDEFGFEDCDEF" 1620 PLAY N$:RETURN 1630 GOSUB200 1640 ON KEY GOSUB1800,1860,1920,1980,2040:RETURN 1650 KEY(1)ON:KEY(2)ON:KEY(3)ON:KEY(4)ON:KEY(5)ON:RETURN 1660 KEY(1)OFF:KEY(2)OFF:KEY(3)OFF:KEY(4)OFF:KEY(5)OFF:RETURN 1670 IN$=INKEY$:IFIN$<>""THENPRINTASC(IN$) 1680 GOTO1670 1690 IN$=INKEY$:IFIN$<>""THEN1690ELSERETURN 1700 PLAY"V10T255O4L4D.L8E.L4G.R64L4G.L8E.L4D.R64L4D.L8E.L2GL4B.R8L8B.O5L4C.O4L8B.L4A.B.L8A.L4G.L4A.L8E.L2GL2F#.","V8O3T255L4G.R8.L4B.R64F#.L8F#.L4B.R64E.L8E.L2GL4B.R8R8.L4C.L8C.L4A.O2B.L8B.O3L4D.O2L4A.L8A.O3L2CC" 1710 RETURN 1720 CLS 1730 LINE(8,0)-(48,12),1,BF:F=15:DRAW"BM16,2":M$="F1":GOSUB80 1740 LINE(58,0)-(98,12),8,BF:F=1:DRAW"BM66,2":M$="F2":GOSUB80 1750 LINE(108,0)-(148,12),4,BF:F=1:DRAW"BM116,2":M$="F3":GOSUB80 1760 LINE(158,0)-(198,12),2,BF:F=1:DRAW"BM166,2":M$="F4":GOSUB80 1770 LINE(208,0)-(248,12),10,BF:F=1:DRAW"BM216,2":M$="F5":GOSUB80 1780 DRAW"BM36,2":COLOR15:M$="*":GOSUB90:COLOR1:DRAW"C1":FD=1 1790 RETURN 1800 REM F1 1810 GOSUB2100 1820 FD=1 1830 DRAW"BM36,2":COLOR15:GOSUB90:COLORFD 1840 GOSUB1150 1850 RETURN 1860 REM F2 1870 GOSUB2100 1880 FD=8 1890 DRAW"BM86,2":COLOR1:GOSUB90:COLORFD 1900 GOSUB1150 1910 RETURN 1920 REM F3 1930 GOSUB2100 1940 FD=4 1950 DRAW"BM136,2":COLOR1:GOSUB90:COLORFD 1960 GOSUB1150 1970 RETURN 1980 REM F4 1990 GOSUB2100 2000 FD=2 2010 DRAW"BM186,2":COLOR1:GOSUB90:COLORFD 2020 GOSUB1150 2030 RETURN 2040 REM F5 2050 GOSUB2100 2060 FD=10 2070 DRAW"BM236,2":COLOR1:GOSUB90:COLORFD 2080 GOSUB1150 2090 RETURN 2100 IFFD=1THENCOLOR1:DRAW"BM36,2":M$="*":GOSUB90:RETURN 2110 IFFD=4THENCOLOR4:DRAW"BM136,2":M$="*":GOSUB90:RETURN 2120 IFFD=10THENCOLOR10:DRAW"BM236,2":M$="*":GOSUB90:RETURN 2130 IFFD=8THENCOLOR8:DRAW"BM86,2":M$="*":GOSUB90:RETURN 2140 IFFD=2THENCOLOR2:DRAW"BM186,2":M$="*":GOSUB90:RETURN 2150 RETURN 5000 ONSGOSUB5020,5010,5010,5010,5020,5020,5010,5020,5010,5010 5010 RETURN 5020 IFM1$="preta"THENM1$="preto":RETURN 5030 IFM1$="amarela"THENM1$="amarelo":RETURN 5040 IFM1$="vermelha"THENM1$="vermelho":RETURN 5050 RETURN |