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 
 
 
  |