huahuahu Veterano |
# jun/06
· votar
The Blue Special Guitar
Tu nunca mexeu em um né?
veja o exemplo:
1000 '------------------------------------
1010 ' jogo : Pouso forcado
1020 '
1030 ' Rubens nov / 85
1040 '------------------------------------
1050 WIDTH 40
1060 DEFINT A-Z
1070 MAXFILES = 1
1080 X = RND(-TIME)
1090 '
1100 ' INSTRUCOES
1110 '
1120 KEY OFF
1130 SCREEN 0,,0
1140 COLOR 1,7,7
1150 CLS
1160 LOCATE 8,2,1
1170 PRINT ">> POUSO FORCADO <<
1180 LOCATE 0,6,0
1190 PRINT "Voce tem que fazer um ";
1200 PRINT "pouso forcado num";
1210 PRINT "campo inimigo onde ";
1220 PRINT " foram colocados"
1230 PRINT "varios obstaculos para";
1240 PRINT " impedir o pouso."
1250 LOCATE 0,11,0
1260 PRINT "Para desobstruir a ";
1270 PRINT " pista voce deve"
1280 PRINT "lancar bombas sobre";
1290 PRINT " os obstaculos, ate"
1300 PRINT "que a pista fique";
1310 PRINT " totalmentte limpa."
1320 LOCATE 0,17,0
1330 PRINT "Use a barra de espaco";
1340 PRINT " para bombardear."
1350 LOCATE 15,22,0
1360 PRINT "TECLE QUALQUER TECLA ";
1370 X$ = INPUT$(1)
1380 '
1390 ' ROTINA PRINCIPAL
1400 '
1410 SCREEN 2,0
1420 OPEN "GRP:" FOR OUTPUT AS #1
1430 GOSUB 1670
1440 GOSUB 1860
1450 GOSUB 2290
1460 GOSUB 2420
1470 COLOR 1
1480 PRESET (60,20)
1490 IF IC$="s" THEN GOSUB 1620 ELSE GOSUB 1570
1500 IF INKEY$ <> "" THEN GOTO 1500
1510 PRESET (60,60)
1520 PRINT #1,"TECLE QUALQUER TECLA";
1530 X$ = INPUT$(1)
1540 LINE (60,20)-(220,28),7,BF
1550 LINE (60,60)-(220,68),7,BF
1560 GOTO 1450
1570 '
1580 ' ATERRISOU
1590 '
1600 PRINT #1,"POUSO PERFEITO !!!"
1610 RETURN
1620 '
1630 ' COLIDIU
1640 '
1650 PRINT #1,"SEU AVIAO EXPLODIU !"
1660 RETURN
1670 '
1680 ' LER SPRITES
1690 '
1700 RESTORE
1710 FOR I = 1 TO 3
1720 Y$ = ""
1730 FOR J = 1 TO 8
1740 READ X$
1750 Y$=Y$+CHR$(VAL("&H"+X$))
1760 NEXT J
1770 SPRITE$(I)=Y$
1780 NEXT I
1790 RETURN
1800 '
1810 ' DEFINICAO DOS SPRITES
1820 '
1830 DATA 00,40,60,70,78,FF,7F,00
1840 DATA 00,00,00,1C,7E,FF,FF,00
1850 DATA 00,38,10,38,7C,38,10,00
1860 '
1870 ' PAISAGEM
1880 '
1890 LINE (0,102)-(255,191),10,BF
1900 FOR I = 105 TO 190 STEP 5
1910 X1 = 256 * RND(1)
1920 X2 = 256 * RND(1)
1930 LINE (X1,I)-(X2,I),1
1940 NEXT I
1950 PSET (0,100),12
1960 DRAW "R4U2R4D1R5D1R4U1R2U1R4U1R3"
1970 DRAW "U1R4U1R2U2R5D1R2D1R2D1R5U2"
1980 DRAW "R5U1R4U1R5U1R5U1R4U1R2E5U2"
1990 DRAW "R1U3R2E4R2F5D4R3F3F8F2R7U1"
2000 DRAW "R2U1R9F2R1E3R1E4R4U3R3U2R5"
2010 DRAW "E3R3U2R2U1R3D1R2F4D3R3F4D3"
2020 DRAW "R4F3R7D1R7D1R9E2R4F2R2E3R2"
2030 DRAW "F3R4F2R4D1R8D1R6D1R7D2R5"
2040 LINE (0,102)-(255,102),12
2050 PAINT (0,101),12
2060 PSET (56,101),2
2070 DRAW "R4U2R4D1R5U1R4D1R2U1R4U1R3"
2080 DRAW "U1R4U1R2U2R5D1R2D1R2D1R5D2"
2090 DRAW "F2"
2100 LINE (0,102)-(255,102),2
2110 PAINT (80,100),2
2120 PSET (190,101),2
2130 DRAW "R4U2R4D1R5U1R4D1R2U1R4U1R3"
2140 DRAW "U1R4U1R2U2R5D1R2D1R2D1R5D2"
2150 DRAW "F2"
2160 PAINT (200,101),2
2170 CIRCLE (25,20),8,11
2180 PAINT (25,20),11
2190 LINE (128,5)-(150,6),15,BF
2200 LINE (124,7)-(158,8),15,BF
2210 LINE (131,9)-(147,10),15,BF
2220 LINE (180,45)-(200,46),14,BF
2230 LINE (175,47)-(204,48),14,BF
2240 LINE (180,49)-(202,50),14,BF
2250 PSET (30,160),14
2260 DRAW "R150E20L150G20"
2270 PAINT (40,159),14
2280 RETURN
2290 '
2300 ' OBSTACULOS
2310 '
2320 LINE (58,143)-(180,152),14,BF
2330 AV$ = ""
2340 FOR I = 1 TO 8
2350 IF RND(1)> .5 THEN AV$ = AV$ + "F" ELSE AV$ = AV$ + " "
2360 NEXT I
2370 IF AV$=STRING$(16,32) THEN GOTO 2330
2380 COLOR 13
2390 PSET (60,145),14
2400 PRINT #1,AV$
2410 RETURN
2420 '
2430 ' ROTINA DO JOGO
2440 '
2450 YA=10
2460 XA = 0
2470 TB$="N"
2480 ON STRIG GOSUB 2960
2490 STRIG(0) ON
2500 XA=XA+5 : IF XA > 240 THEN XA=0
2510 IF XA MOD 10 = 0 THEN YA=YA+1
2520 IF YA>127 AND XA=0 THEN GOTO 2600
2530 PUT SPRITE 15,(XA,YA),4,1
2540 PUT SPRITE 16,(XA+8,YA),4,2
2550 XB=XB+4 : IF XB > 248 THEN XB = 0
2560 YB=YB+5
2570 IF TB$ = "s" THEN PUT SPRITE 17,(XB,YB),1,3
2580 IF YB>140 AND TB$="s" THEN GOSUB 2880
2590 GOTO 2500
2600 '
2610 ' ATERRISOU
2620 '
2630 STRIG(0) OFF
2640 IC$ = "s"
2650 FOR XA = 0 TO 35
2660 PUT SPRITE 15,(XA,140),4,1
2670 PUT SPRITE 16,(XA+8,140),4,2
2680 NEXT XA
2690 FOR XA = 36 TO 170
2700 PUT SPRITE 15,(XA,140),4,1
2710 PUT SPRITE 16,(XA+8,140),4,2
2720 IF POINT (XA+16,148) <> 14 THEN GOTO 2760
2730 NEXT XA
2740 IC$ = "n"
2750 RETURN
2760 '
2770 ' EXPLOSAO DO AVIAO
2780 '
2790 FOR I = 1 TO 3
2800 FOR J = 2 TO 14
2810 PUT SPRITE 15,(XA,140),J,1
2820 PUT SPRITE 16,(XA+8,140),J,2
2830 FOR K = 1 TO 20
2840 NEXT K
2850 NEXT J
2860 NEXT I
2870 RETURN
2880 '
2890 ' EXPLOSAO DA BOMBA
2900 '
2910 PUT SPRITE 17,(XB,YB),0,3
2920 TB$ = "n"
2930 IF XB>50 AND XB<175 THEN LINE (XB-4,YB)-(XB+12,YB+12),14,BF
2940 STRIG(0) ON
2950 RETURN
2960 '
2970 ' LANCAR BOMBA
2980 '
2990 STRIG(0) OFF
3000 IF YA>112 THEN RETURN
3010 XB = XA + 4
3020 YB = YA + 8
3030 TB$ = "s"
3040 PUT SPRITE 17,(XB,YB),8,3
3050 RETURN
para jogar isso
http://www.basic.msxall.com/modules/mydownloads/images/shots/pouso.jpg
|