Bombardero
Una variación sobre un tema clásico. Para un jugador contra el ordenador. Sólo teclado.
10
'BOMBARDERO por DAVE TOWN
20
'copyright (c) AMSOFT 1984
30
'
40
MODE 1:CLS:INK 0,0:BORDER 0:INK 1,18:INK 2,6:INK 3,4:INK 5,15:INK 6,2:INK 7,24:INK
8,8:INK 9,26:INK 10,10:INK 11,20:INK 12,12:INK 13,16:INK 14,14:INK
50
SYMBOL AFTER 240:SYMBOL 241,&40,&60,&70,&7F,&7F,&EF,&7,&0:SYMBOL
242,&0,&32,&7A,&FE,&FA,&F2,&E0,&0
60 puntos=0:maxi=0:avi$=CHR$(241)+CHR$(242):x=2:y=2:cae=0:a=2:b=2
70
480
GOSUB
80
CLS
90
PEN 2:LOCATE
1,15:INPUT"Elija nivel: 0 (AS) a 5 (PRINCIPIANTE)
100
IF
nivel<0
OR
110 nivel=nivel+10
120
LOCATE 1,15:PRINT CHR$(18);:LOCATE
(MIN)
",vel
130
IF
vel>100
OR
140
'
150
'Edificios
160
'
170
MODE 0:FOR
base=5
base,altura:PEN base-2:PRINT CHR$(143)+CHR$(8)+CHR$(11)+CHR$(244);:NEXT:NEXT
180
PLOT 0,20,4:DRAW
190
LOCATE 1,25:PEN 2:PRINT"PUNTOS";puntos;:LOCATE
200
'
210
'Juego
220
'
230
LOCATE
x-1,y:PRINT"
240
PEN 1:LOCATE x,y:PRINT avi$;:PEN
250
IF
y=21
AND
x=15
260
'
270
'Aterriza
280
'
290
c=0
TO 1000:NEXT
FOR
300 puntos=puntos+100-(nivel*2):nivel=nivel-1:x=2:y=2:a=2:b=2:cae=0
310
IF
nivel<10
THEN
320
IF
vel<0
THEN
330
GOTO
150
340
FOR
c=0
TO vel:NEXT
350 x=x+1
360
IF
x=18
THEN LOCATE x-1,y:PRINT CHR$(18);:x=2:y=y+1:LOCATE x,y:PEN 1:PRINT
avi$;:PEN
2
370
a$=INKEY$:IF
a$=" "
380
IF
y=21
THEN
cae=0
390
IF
cae=1
THEN LOCATE a,b:PRINT CHR$(252);:LOCATE
THEN LOCATE
a,b:PRINT"
":a=0:b=0:cae=0:SOUND
400
ga=(a-0.5)*32:gb=400-(b*16):bomba=TEST(ga,gb)
410
IF
bomba>0
THEN GOTO
420
gx=((x+1.5)*32):gy=408-(y*16):choque=TEST(gx,gy)
nivel>5
THEN GOTO
vel<0
GOTO
120
TO 15:FOR
altura=21
640,20,4
";
THEN GOTO 290:ELSE GOTO
nivel=10:vel=vel-20
vel=0
AND
cae=0
THEN cae=1:b=y+2:a=x
";:LOCATE
a,b-1:PRINT"
3,4000,10,12,0,0,10
670
Manual de Amstrad CPC 6128 (revisión 2008) - Página 403
90
1,15:INPUT"Elija velocidad: 0 (MAX) a 100
TO
INT(RND(1)*8+nivel)
13,25:PRINT"MAX";maxi;
2
340
a,b-1:PRINT"
";:LOCATE
15,21
",nivel
STEP-1:LOCATE
";:b=b+1:IF
a,b-1:PRINT"
b>21