Port inicial de Rebotes a ascii
This commit is contained in:
+69
@@ -0,0 +1,69 @@
|
||||
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:CLEAR INPUT
|
||||
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
|
||||
Reference in New Issue
Block a user