Programador Alexader Martín para AMSOFT.
Increíble programa que ocupa menos de 70 líneas de código.
Código BASIC
10 'REBOTES, por Alexander Martin 20 'copyright (c) AMSOFT 1984 30 ' 40 MODE 1:BORDER 1:INK 0,1:INK 1,26:INK 2,24:INK 3,6 50 SPEED KEY 15,2 60 ENV 1,1,18,0,11,0,10 70 ENT 1,10,2,2 80 ENV 3,1,0,16,5,-3,2 90 ENV 2,5,3,3,1,-21,22,9,-3,2 100 ENT -2,10,2,2,5,-7,1,2,11,3,2,-4,8 110 ' 120 ' 130 MOVE 30,32:DRAWR 0,400,1:MOVE 610,32:DRAWR 0,400,1 140 PEN 3:LOCATE 3,1:PRINT STRING$(36,143) 150 PEN 2:LOCATE 3,2:PRINT STRING$(36,143) 160 PEN 1:FOR r=5 TO 6:LOCATE 3,r:PRINT STRING$(36,143):NEXT r 170 bx=9 180 pelotas=5:puntos=0 190 PEN 1:GOSUB 680 200 IF INKEY$<>CHR$(32) AND JOY(0)<16 THEN 200 210 LOCATE 3,23:PRINT SPACE$(36):LOCATE 1,24:PRINT SPACE$(40); 220 GOSUB 690:GOSUB 660:GOTO 280 230 ' 240 ' 250 LOCATE bx,24:PRINT" ";STRING$(4,131);" ":RETURN 260 ' 270 ' 280 xa=1:ya=1:IF INT(RND*2)=1 THEN xa=-xa 290 PEN 1:GOSUB 250 300 ORIGIN 0,400 310 x=bx+4:y=11:x1=x:y1=y 320 ' 330 ' 340 x1=x+xa:y1=y+ya 350 IF x1=3 OR x1=38 THEN xa=-xa 360 GOSUB 540 370 IF y1=24 AND x1>bx+1 AND x1<bx+6 THEN ya=-ya:y1=y1-2:SOUND 130,44,8,7,1,1:a=((x>bx+5) OR (x<bx+2)):IF a=-1 THEN xa=xa*a:x1=x1+xa:y1=y1+1 380 IF y=25 THEN LOCATE x,y:PRINT" ":GOTO 500 390 GOSUB 250 400 t=TEST((16*x1)-1,-(16*y1)-1) 410 IF t<>0 THEN ya=-ya:xz=x1:yz=y1:y1=y1+ya:GOSUB 590:IF t=2 THEN puntos=puntos+10:GOSUB 660 420 IF t=3 THEN puntos=puntos+20:GOSUB 660 430 IF t=1 THEN puntos=puntos+5:GOSUB 660 440 IF y1=1 THEN ya=1 450 LOCATE x,y:PRINT" ":LOCATE x1,y1:PRINT CHR$(231):x=x1:y=y1 460 IF y=1 OR x=3 OR x=38 THEN SOUND 129,78,8,7,1,1 470 GOTO 340 480 ' 490 ' 500 pelotas=pelotas-1:SOUND 132,19,46,12,2,2:IF pelotas=0 THEN GOTO 620 510 GOSUB 660:GOTO 280 520 ' 530 ' 540 IF (INKEY(8)=0 OR INKEY(74)=0) AND bx>2 THEN bx=bx-2:RETURN 550 IF (INKEY(1)=0 OR INKEY(75)=0) AND bx<32 THEN bx=bx+2:RETURN 560 RETURN 570 ' 580 ' 590 LOCATE xz,yz:PRINT" ":RETURN 600 ' 610 ' 620 IF puntos>=maximo THEN maximo=puntos 630 GOSUB 660:puntos=0:pelotas=5:GOTO 130 640 ' 650 ' 660 SOUND 130,0,20,13,3,0,31:LOCATE 1,25:PRINT"Maximo";maximo 670 LOCATE 15,25:PRINT "Puntos";puntos:LOCATE 30,25:PRINT"Pelotas";pelotas:RETURN 680 LOCATE 3,23:PRINT"Pulse barra espaciadora para empezar":RETURN 690 LOCATE 1,25:PRINT SPACE$(40);:RETURN

No hay comentarios:
Publicar un comentario