es:car_park
Diferencias
Muestra las diferencias entre dos versiones de la página.
Próxima revisión | Revisión previa | ||
es:car_park [2017/01/27 12:34] – creado jevicac | es:car_park [2022/06/30 10:27] (actual) – [Extras] jevicac | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
====== CAR PARK ====== | ====== CAR PARK ====== | ||
- | ===== Ficha ===== | ||
{{: | {{: | ||
+ | |||
+ | ===== Ficha ===== | ||
^ Autor | ???????? | ^ Autor | ???????? | ||
^ Compatibilidad | Amstrad PCW 8256 / 8512 / 9512 | | ^ Compatibilidad | Amstrad PCW 8256 / 8512 / 9512 | | ||
Línea 27: | Línea 28: | ||
===== Listado ===== | ===== Listado ===== | ||
- | * **__Listado - MARCIANO.BAS__** | + | * **__Listado - CAR.BAS__** |
< | < | ||
- | 10 ' | + | 10 OPTION RUN:GOSUB 1470:yes=-1:WHILE yes:play=-1:lives=5:floor=1:score=0:PRINT cls$ |
- | 20 ' Tenemos visita | + | 20 WHILE play:GOSUB 1090:GOSUB 40: |
- | 30 ' | + | 30 PRINT e$" |
- | 40 ' Mallard Basic | + | 40 go=-1:key=0:sc=0:shield=0:cx=12:cy=4:CALL pr(cx,cy,caru$) |
- | 50 ' ============================================= | + | 50 gx=72: |
- | 60 ' Por; Juan Jose Perez Torres | + | 60 WHILE go:i$=LOWER$(INKEY$) |
- | 70 ' --------------------------------------------- | + | 70 IF i$="o" |
- | 80 ' Junio-Julio | + | 80 IF i$="p" |
- | 90 ' ************************************************* | + | 90 IF i$="s" |
- | 100 ' | + | 100 IF i$="x" |
- | 130 ' | + | 110 IF i$="q" |
- | 140 ' | + | 120 GOSUB 340:IF shield=0 THEN IF cx=gx AND cy=gy THEN GOSUB 460 |
- | 150 ' | + | 130 IF shield>0 THEN shield=shield-1: |
- | 160 ' | + | 140 WEND: |
- | 170 OPTION RUN:CLEAR:DIM pantalla(27, | + | 150 a$=STR$(shield):a$=RIGHT$(a$,LEN(a$)-1):a$=LEFT$("000",3-LEN(a$))+a$ |
- | 180 : | + | 160 POKE paper,85:x=62: |
- | 190 alienigena=0:cx=35:disparo=0:disparo1=0:per=1:puntos=0 | + | 170 REM Move car |
- | 200 : | + | 180 IF a(cx-2,cy,0)=1 OR a(cx-1,cy,0)=1 THEN RETURN |
- | 210 BORRA$=CHR$(27)+" | + | 190 POKE pen,85:CALL pr(cx,cy,b$):POKE pen,255 |
- | 220 SUBRON$=CHR$(27)+" | + | 200 c=1:c$=carl$: |
- | 230 CLARO$=CHR$(27)+"bb"+CHR$(27)+"cc":OSCURO$=CHR$(27)+"cb"+CHR$(27)+"bc" | + | 210 IF a(cx+2,cy,0)=1 OR a(cx+1,cy,0)=1 THEN RETURN |
- | 240 CUROFF$=CHR$(27)+"f":CURON$=CHR$(27)+" | + | 220 POKE pen,85:CALL pr(cx,cy,b$):POKE pen,255 |
- | 250 VIDEON$=CHR$(27)+" | + | 230 c=2:c$=carr$:cx=cx+2:CALL pr(cx,cy,c$):GOSUB 300: |
- | 260 DEF FNtab$(x,y,texto$)=CHR$(27)+"Y"+CHR$(32+x)+CHR$(32+y)+texto$ | + | 240 IF a(cx,cy-1,0)=1 THEN RETURN |
- | 270 : | + | 250 POKE pen,85:CALL pr(cx,cy,b$):POKE pen,255 |
- | 280 alienigena$(1)=CHR$(188)+CHR$(189) | + | 260 c=3:c$=caru$:cy=cy-1:CALL pr(cx, |
- | 290 alienigena$(2)=CHR$(190)+CHR$(191) | + | 270 IF a(cx,cy+1,0)=1 THEN RETURN |
- | 300 alienigena$(3)=CHR$(192)+CHR$(193) | + | 280 POKE pen,85:CALL pr(cx,cy,b$): |
- | 310 alienigena$(4)=CHR$(194)+CHR$(195) | + | 290 c=4:c$=card$:cy=cy+1:CALL pr(cx,cy,c$):GOSUB 300: |
- | 320 canon$=CHR$(32)+CHR$(197)+CHR$(32) | + | 300 a=a(cx,cy,1):IF a>2 AND a<20 THEN GOSUB 590 |
- | 330 ' | + | 310 IF a>20 THEN ON a-20 GOSUB 910,930,1000,1010,1020 |
- | 340 ' | + | 320 a(cx,cy,1)=2: |
- | 350 ' | + | 330 REM Move ghost car |
- | 360 RESTORE 470 | + | 340 POKE pen,85:IF a(gx,gy,0)=2 THEN g=INT(RND*4)+1 |
- | 370 : | + | 350 IF a(gx,gy,1)=2 THEN g$=b$ELSE g$=sp$ |
- | 380 PRINT BORRA$ | + | 360 ON g GOSUB 370,390,410,430:POKE pen,255: |
- | 390 MEMORY 62210! | + | 370 IF a(gx,gy-1,0)=1 THEN RETURN |
- | 400 d=62928!:inic=d:GOSUB 440 | + | 380 CALL pr(gx,gy,g$): |
- | 410 d=62212!:bol=d: | + | 390 IF a(gx,gy+1,0)=1 THEN RETURN |
- | 420 GOTO 510 | + | 400 CALL pr(gx,gy,g$): |
- | 430 : | + | 410 IF a(gx-1,gy,0)=1 OR a(gx-2,gy,0)=1 THEN RETURN |
- | 440 READ a$:IF a$=" | + | 420 CALL pr(gx,gy,g$): |
- | 450 byte=VAL("& | + | 430 IF a(gx+1,gy,0)=1 OR a(gx+2,gy,0)=1 THEN RETURN |
- | 460 GOTO 440 | + | 440 CALL pr(gx,gy,g$): |
- | 470 DATA 2A,01,00,11, | + | 450 REM Car and ghost collide |
- | 480 DATA 7E,32,40,F3,21,40,F3,06,08,1A,23,77,13,13,10,F9,2A,01,00,11,57,00, | + | 460 PRINT bleep$;:lives=lives-1:cx=12:cy=4:CALL pr(cx,cy,caru$):GOSUB 480 |
- | 490 : | + | 470 IF lives=0 THEN go=0:play=0: |
- | 500 CALL inic | + | 480 x=64: |
- | 510 RESTORE 530:FOR d=1 TO 43:READ char$:char%=VAL(char$):FOR z%=0 TO 7:READ d$(z%):d%(z%)=VAL(d$(z%)):NEXT z%:CALL bol(char%,d%(0)):NEXT d | + | 490 POKE paper,85:CALL pr(x,y,a$):POKE paper, |
- | 520 : | + | 500 REM End-of-game messages |
- | 530 DATA 160,0, | + | 510 PRINT cls$:POKE double,1:IF floor=6 THEN a$=" |
- | 540 DATA 161,0,0,0, | + | 520 x=10: |
- | 550 DATA 162,0,31,63,31,31,24,0,0 | + | 530 IF floor=6 THEN a$=" |
- | 560 DATA 163, | + | 540 y=10:CALL pr(x,y,a$): |
- | 570 DATA 164,0, | + | 550 y=20: |
- | 580 DATA 165, | + | 560 WHILE i$<>" |
- | 590 DATA 166,0,0,254,255, | + | 570 IF i$=" |
- | 600 DATA 167, | + | 580 REM Expose squares |
- | 610 DATA 168, | + | 590 PRINT bleep$;: |
- | 620 DATA 169, | + | 600 z=INT(RND*15)+1: |
- | 630 DATA 170, | + | 610 IF z=1 THEN x=14:y=5 |
- | 640 DATA 171, | + | 620 IF z=2 THEN x=26:y=5 |
- | 650 DATA 172, | + | 630 IF z=3 THEN x=38:y=5 |
- | 660 DATA 173, | + | 640 IF z=4 THEN x=50:y=5 |
- | 670 DATA 174, | + | 650 IF z=5 THEN x=62:y=5 |
- | 680 DATA 175, | + | 660 IF z=6 THEN x=14:y=11 |
- | 690 DATA 176, | + | 670 IF z=7 THEN x=26:y=11 |
- | 700 DATA 177, | + | 680 IF z=8 THEN x=38:y=11 |
- | 710 DATA 178, | + | 690 IF z=9 THEN x=50:y=11 |
- | 720 DATA 179, | + | 700 IF z=10 THEN x=62:y=11 |
- | 730 DATA 180, | + | 710 IF z=11 THEN x=14:y=17 |
- | 740 DATA 181, | + | 720 IF z=12 THEN x=26:y=17 |
- | 750 DATA 182, | + | 730 IF z=13 THEN x=38:y=17 |
- | 760 DATA 183,240, | + | 740 IF z=14 THEN x=50:y=17 |
- | 770 DATA 184,0,1,3,15,31,31,31,25 | + | 750 IF z=15 THEN x=62:y=17 |
- | 780 DATA 185,0,208,248,248,248, | + | 760 a=x+2: |
- | 790 DATA 186,15,15,6,6,2,2,0,0 | + | 770 IF z MOD 4=0 THEN PRINT FNat$(x,y+2," "):FOR a=0 TO 4:a(x+a,y+2,0)=0:NEXT |
- | 800 DATA 187,224,0,0,0,0,0,0,0 | + | 780 IF z MOD 4=1 THEN PRINT FNat$(x+9,y+2," "):FOR a=3 TO 9:a(x+a,y+2,0)=0:NEXT |
- | 810 DATA 188,3, | + | 790 IF z MOD 4=2 THEN a=x+4:CALL pr(a,y,sp$):FOR b=0 TO 2:a(x+4,y+b,0)=0:NEXT |
- | 820 DATA 189,194,162,254,96,192,64,72,120 | + | 800 IF z MOD 4=3 THEN a=x+4: |
- | 830 DATA 190,0,3,5,7,30,63,48,48 | + | 810 POKE pen,0:POKE paper,255: |
- | 840 DATA 191,0,192, | + | 820 ON a(cx,cy,1)-2 GOSUB 840,860,870,870,880,890,890,890,890,890,890,890,890,890,890 |
- | 850 DATA 192,99,101,127,6, | + | 830 square(z)=1: |
- | 860 DATA 193,198,166,254,96, | + | 840 IF floor<5 THEN u$=" |
- | 870 DATA 194,0,7,77,127, | + | 850 CALL pr(x,y,u$):a(x,y,1)=21: |
- | 880 DATA 195,0,224,178,254, | + | 860 CALL pr(x,y,key$):a(x,y,1)=22: |
- | 890 DATA 196,255,24,60,126, | + | 870 CALL pr(x,y,caru$):a(x,y,1)=23: |
- | 900 DATA 197, | + | 880 CALL pr(x,y,caru$):a(x,y,1)=24: |
- | 910 DATA 198,0, | + | 890 CALL pr(x,y,caru$):a(x,y,1)=25: |
- | 920 DATA 199, | + | 900 REM Car triggers squares |
- | 930 DATA 200,255,0,170, | + | 910 IF key THEN PRINT bleep$;: |
- | 940 DATA 201,255,0,0,0,0,0,0,0 | + | 920 POKE pen,0:POKE paper,255:CALL pr(cx,cy,u$):GOSUB 950: |
- | 950 DATA 202,0,0,0,0,0,0,0,255 | + | 930 IF sc=10 THEN PRINT bleep$;: |
- | 960 ' | + | 940 POKE pen,0:POKE paper,255:CALL pr(cx,cy,key$) |
- | 970 ' | + | 950 POKE paper,0:POKE pen,255:PRINT bleep$;:ON c GOSUB 960,970,980,990:CALL pr(cx,cy,c$):RETURN |
- | 980 ' | + | 960 cx=cx+2: |
- | 990 ' | + | 970 cx=cx-2: |
- | 1000 ' | + | 980 cy=cy+1: |
- | 1010 PRINT CUROFF$ | + | 990 cy=cy-1: |
- | 1020 a$=CHR$(160)+CHR$(161)+CHR$(162)+CHR$(163)+CHR$(164)+CHR$(165)+CHR$(166):x=3:y=2: | + | 1000 PRINT bleep$: |
- | 1030 a$=CHR$(167)+CHR$(168)+CHR$(32)+CHR$(169)+CHR$(170)+CHR$(171)+CHR$(172):x=4:y=2:GOSUB 1080 | + | 1010 PRINT bleep$: |
- | 1040 a$=CHR$(173)+CHR$(174)+CHR$(175)+CHR$(176)+CHR$(177)+CHR$(178)+CHR$(179):x=5:y=2:GOSUB 1080 | + | 1020 PRINT bleep$;: |
- | 1050 a$=CHR$(32)+CHR$(180)+CHR$(181)+CHR$(182)+CHR$(183)+CHR$(32)+CHR$(184)+CHR$(185):x=6:y=2:GOSUB 1080 | + | 1030 a$=SPACE$(3):a=cx-2:FOR b=cy-1 TO cy+1:CALL pr(a,b,a$):NEXT |
- | 1060 a$=CHR$(32)+CHR$(186)+STRING$(5,32)+CHR$(187):x=7:y=2:GOSUB 1080 | + | 1040 CALL pr(cx,cy,c$):RETURN |
- | 1070 GOTO 1090 | + | 1050 x=28: |
- | 1080 PRINT FNtab$(x,y,a$):RETURN | + | 1060 POKE paper, |
- | 1090 : | + | 1070 FOR a=0 TO 2000:NEXT: |
- | 1100 frase$=" | + | 1080 REM Draw screen |
- | 1110 FOR I=90-LEN(frase$) TO 20 STEP -1 | + | 1090 POKE paper, |
- | 1120 PRINT FNtab$(3,I,frase$+CHR$(32)) | + | 1100 x=11:a$=STRING$(62,154) |
- | 1130 NEXT I | + | 1110 a1$=CHR$(150)+a$+CHR$(156):PRINT FNat$(x,0,a1$);FNat$(x,24,a1$); |
- | 1140 PRINT SUBRON$ | + | 1120 x1=74:a1$=CHR$(149):PRINT FNat$(x, |
- | 1150 FOR I=1 TO LEN(frase$)-1 | + | 1130 FOR y=25 TO 27 STEP 2:PRINT FNat$(x, |
- | 1160 PRINT FNtab$(3,19+I,MID$(frase$,I,1)) | + | 1140 a1$=CHR$(151)+a$+CHR$(157):PRINT FNat$(x,26,a1$); |
- | 1170 FOR TIME=1 TO 100:NEXT TIME | + | 1150 a1$=CHR$(147)+a$+CHR$(153):PRINT FNat$(x,2, |
- | 1180 NEXT I | + | 1160 a$=SPACE$(4)+carr$+" "+carr$+" C A R P A R K "+carl$+" "+carl$+SPACE$(4) |
- | 1190 PRINT SUBROFF$ | + | 1170 x=12:y=1:CALL pr(x,y,a$):a$=" Score:" |
- | 1200 RETURN | + | 1180 y=27:CALL pr(x,y,a$):GOSUB 480:GOSUB 1050:POKE paper, |
- | 1210 : | + | 1190 a$=" Please wait..." |
- | 1220 x=5:y=20:a$="El planeta Tierra, esta siendo invadido por seres extraterrestres." | + | 1200 a$=CHR$(150):x=11:y=3:PRINT FNat$(x,y,a$);:a(x,y,0)=1 |
- | 1230 x=7:y=20:a$="El gobierno de los Estados Unidos, te ha elegido para acabar con esta ":GOSUB 1270 | + | 1210 a$=CHR$(154):FOR x=12 TO 73:PRINT FNat$(x,y,a$);:a(x,y,0)=1:NEXT |
- | 1240 x=9:y=20: | + | 1220 a$=CHR$(156):PRINT FNat$(x,y,a$);:a(x,y,0)=1 |
- | 1250 x=11:y=20:a$="por tu propia vida.":GOSUB 1270 | + | 1230 x=11:x1=74:a$=CHR$(149):a1$=SPACE$(62):FOR y=4 TO 22 |
- | 1260 GOSUB 1320 | + | 1240 PRINT FNat$(x,y,a$);FNat$(x+1,y,a1$);FNat$(x1,y,a$);:a(x,y,0)=1:a(x1,y,0)=1:NEXT |
- | 1270 FOR I=1 TO LEN(a$) | + | 1250 a$=CHR$(147):PRINT FNat$(x,y,a$);:a(x,y,0)=1 |
- | 1280 PRINT FNtab$(x,y+(I-1),MID$(a$,I,1)) | + | 1260 a$=CHR$(154):FOR x=12 TO 73:PRINT FNat$(x,y,a$);:a(x,y,0)=1:NEXT |
- | 1290 FOR R=1 TO 100:NEXT R | + | 1270 a$=CHR$(153):PRINT FNat$(x,y,a$);:a(x,y,0)=1 |
- | 1300 NEXT I | + | 1280 FOR x=14 TO 62 STEP 12:FOR y=5 TO 17 STEP 6 |
- | 1310 RETURN | + | 1290 a$=CHR$(150): |
- | 1320 FOR I=5 TO 85:FOR J=5 TO 11 | + | 1300 a$=CHR$(154):FOR a=1 TO 8: |
- | 1330 pantalla(J,I)=0 | + | 1310 a$=CHR$(156):PRINT FNat$(x+a,y,a$);:a(x+a,y,0)=1 |
- | 1340 NEXT J,I | + | 1320 a$=CHR$(149):FOR a=1 TO 3:PRINT FNat$(x, |
- | 1350 : | + | 1330 FOR b=1 TO 8: |
- | 1360 frase$=" | + | 1340 a$=CHR$(147):PRINT FNat$(x,y+a,a$);:a(x,y+a,0)=1 |
- | 1370 PRINT VIDEON$ | + | 1350 a$=CHR$(154):FOR b=1 TO 8: |
- | 1380 PRINT FNtab$(18,45,STRING$(LEN(frase$)+2,CHR$(32))) | + | 1360 a$=CHR$(153): |
- | 1390 PRINT FNtab$(19,45,CHR$(32)+frase$+CHR$(32)) | + | 1370 FOR x=12 TO 72 STEP 12:FOR y=4 TO 22:a(x,y,1)=1:NEXT y,x |
- | 1400 PRINT FNtab$(20,45,STRING$(LEN(frase$)+2,CHR$(32))) | + | 1380 FOR x=12 TO 72 STEP 2:FOR y=4 TO 22 STEP 6:a(x,y, |
- | 1410 PRINT VIDEOFF$ | + | 1390 FOR x=12 TO 72 STEP 12:FOR y=4 TO 22 STEP 6:a(x,y,0)=2:NEXT y,x |
- | 1420 FOR TIME=1 TO 6000:NEXT TIME | + | 1400 FOR a=3 TO 17 |
- | 1430 : | + | 1410 x=INT(RND*31)*2+12:y=INT(RND*19)+4:IF a(x,y,1)<>1 THEN 1410 |
- | 1440 FOR I=3 TO 20 | + | 1420 a(x,y,1)=a:NEXT:POKE paper,85 |
- | 1450 FOR TIME=1 TO 150:NEXT TIME | + | 1430 a$=" Floor:" |
- | 1460 PRINT FNtab$(I,0,STRING$(90,32)) | + | 1440 x=12: |
- | 1470 NEXT I | + | 1450 FOR a=1 TO 15:square(a)=0: |
- | 1480 GOSUB 2320 | + | 1460 REM Set up |
- | 1490 ' | + | 1470 DEFINT a-z: |
- | 1500 ' | + | 1480 DEF FNat$(x,y,a$)=e$+" |
- | 1510 ' Eleccion de alienigenas | + | 1490 DIM a(74,23,1),square(15) |
- | 1520 ' | + | 1500 PRINT cls$e$" |
- | 1530 ' | + | 1510 b=(90-a)/2: |
- | 1540 vida=5:GOSUB 2590 | + | 1520 PRINT:PRINT TAB(8)" |
- | 1550 d=INT(RND*4)+1 | + | 1530 PRINT TAB(8)"Steer your vehicle by pressing ' |
- | 1560 IF d=alienigena THEN 1550 | + | 1540 PRINT TAB(8)"Watch out for the ghost car on patrol. |
- | 1570 alienigena=d | + | 1550 PRINT TAB(8)" |
- | 1580 inv$=alienigena$(alienigena) | + | 1560 PRINT TAB(8)"An up arrow (^) takes you to the next floor, provided you have obtained a key. |
- | 1590 muertos=0 | + | 1570 PRINT TAB(8)"The other squares all look the same, but their contents vary. Some give you": |
- | 1600 ' | + | 1580 PRINT TAB(8)"All the points must be collected before you can get a key.":PRINT |
- | 1610 ' | + | 1590 RESTORE 1750:address=& |
- | 1620 ' Pantalla de Juego | + | 1600 READ code:WHILE code< |
- | 1630 ' | + | 1610 screen=&HE000:pr=& |
- | 1640 ' | + | 1620 RESTORE 1680:FOR i=0 TO 47:READ j:POKE udgs+i, |
- | 1650 FOR I=20 TO 70 STEP 4:FOR J=4 TO 15 STEP 2 | + | 1630 caru$=CHR$(0):card$=CHR$(1):carr$=CHR$(2):carl$=CHR$(3):key$=CHR$(4):p$=CHR$(5) |
- | 1660 PRINT FNtab$(J,I,inv$) | + | 1640 RANDOMIZE PEEK(64504!): |
- | 1670 pantalla(J,I)=1:pantalla(J,I+1)=1 | + | 1650 a$="p Press a key to play. ": |
- | 1680 NEXT J,I | + | 1660 CALL screen:RETURN |
- | 1690 PRINT FNtab$(21,cx,canon$) | + | 1670 REM Graphics data |
- | 1700 ' | + | 1680 DATA 20, |
- | 1710 ' | + | 1690 DATA 28, |
- | 1720 ' Movimiento del ca|on | + | 1700 DATA 0, |
- | 1730 ' | + | 1710 DATA 0, |
- | 1740 ' | + | 1720 DATA 0, |
- | 1750 D$=INKEY$ | + | 1730 DATA 255, |
- | 1760 IF muertos=78 THEN bxx=0:byy=0:GOTO 1490 | + | 1740 REM Machine code |
- | 1770 IF D$=CHR$(1) AND cx>18 THEN cx=cx-1 | + | 1750 DATA 195, |
- | 1780 IF D$=CHR$(6) AND cx<69 THEN cx=cx+1 | + | 1760 DATA 32,245, |
- | 1790 IF D$=CHR$(13) AND disparo=0 THEN disparo=1:bx=21:by=cx+1 | + | 1770 DATA 32, |
- | 1800 IF disparo=1 THEN GOSUB 1840 | + | 1780 DATA 208,3,10,111, |
- | 1810 PRINT FNtab$(21,cx,canon$) | + | 1790 DATA 2, |
- | 1820 GOSUB 2010 | + | 1800 DATA 41, |
- | 1830 GOTO 1750 | + | 1810 DATA 0,237,176, |
- | 1840 ' | + | 1820 DATA 253, |
- | 1850 ' | + | 1830 DATA 203, |
- | 1860 ' Disparo | + | 1840 DATA 22, |
- | 1870 ' | + | 1850 DATA 126, |
- | 1880 ' | + | 1860 DATA 221, |
- | 1890 bx=bx-1 | + | 1870 DATA 53, |
- | 1900 PRINT FNtab$(bxx,byy,CHR$(32)) | + | 1880 DATA 41, |
- | 1910 PRINT FNtab$(bx,by,CHR$(198)) | + | 1890 DATA 41, |
- | 1920 byy=by:bxx=bx | + | 1900 DATA 224, |
- | 1930 IF bx=3 THEN disparo=0: | + | 1910 DATA 134,0, |
- | 1940 IF pantalla(bx,by)=1 THEN GOSUB 1960 | + | 1920 DATA 80, |
- | 1950 RETURN | + | |
- | 1960 IF pantalla(bx, | + | |
- | 1970 PRINT CHR$(7): | + | |
- | 1980 muertos=muertos+1:puntos=puntos+15:GOSUB 2610 | + | |
- | 1990 disparo=0 | + | |
- | 2000 RETURN | + | |
- | 2010 ' | + | |
- | 2020 ' | + | |
- | 2030 ' Disparos alienigenas | + | |
- | 2040 ' | + | |
- | 2050 ' | + | |
- | 2060 IF disparo1=1 THEN GOSUB 2140 | + | |
- | 2070 IF disparo1=1 THEN RETURN | + | |
- | 2080 dx=0 | + | |
- | 2090 FOR I=21 TO 4 STEP -1 | + | |
- | 2100 IF pantalla(I,cx+1)=1 AND dx=0 THEN dx=I:disparo1=1 | + | |
- | 2110 NEXT I | + | |
- | 2120 dx(1)=dx+1:dy(1)=cx+1 | + | |
- | 2130 RETURN | + | |
- | 2140 ' | + | |
- | 2150 ' | + | |
- | 2160 ' Efectos de disparos alienigenas | + | |
- | 2170 ' | + | |
- | 2180 ' | + | |
- | 2190 I=1 | + | |
- | 2200 IF per=1 THEN 2230 | + | |
- | 2210 IF dy(I)<=cx THEN dy(I)=dy(I)+1:IF pantalla(dx(I),dy(I))=1 THEN dy(I)=dy(1)-1 | + | |
- | 2220 IF dy(I)>cx+1 THEN dy(I)=dy(I)-1:IF pantalla(dx(I),dy(I))=1 THEN dy(I)=dy(I)+1 | + | |
- | 2230 IF pantalla(dx(I),dy(I))=1 THEN IF pantalla(dx(I),dy(I)-1)=0 THEN dy(I)=dy(I)-1 ELSE dy(I)=dy(I)+1 | + | |
- | 2240 PRINT FNtab$(dxx(I),dyy(I),CHR$(32)) | + | |
- | 2250 PRINT FNtab$(dx(I), | + | |
- | 2260 dxx(I)=dx(I):dyy(I)=dy(I):dx(I)=dx(I)+1 | + | |
- | 2270 IF dy(I)=cx+1 AND dx(I)=22 THEN vida=vida-1: | + | |
- | 2280 IF dx(I)=22 THEN dx(I)=0:dy(I)=0:disparo1=0 | + | |
- | 2290 IF per=1 THEN per=0 ELSE per=1 | + | |
- | 2300 IF vida=0 THEN GOTO 2640 | + | |
- | 2310 RETURN | + | |
- | 2320 ' | + | |
- | 2330 ' | + | |
- | 2340 ' | + | |
- | 2350 ' | + | |
- | 2360 ' | + | |
- | 2370 GOTO 2430 | + | |
- | 2380 FOR ppy=90 TO 0 STEP -1 | + | |
- | 2390 PRINT FNtab$(ppx,ppy,os$) | + | |
- | 2400 NEXT ppy | + | |
- | 2410 RETURN | + | |
- | 2420 : | + | |
- | 2430 ppx=23: | + | |
- | 2440 ppx=25:os$=CHR$(200):GOSUB 2380 | + | |
- | 2450 ppx=27: | + | |
- | 2460 : | + | |
- | 2470 FOR alc=1 TO 4 | + | |
- | 2480 FOR ppy=80 TO alc*3 STEP -1 | + | |
- | 2490 PRINT FNtab$(26, | + | |
- | 2500 NEXT ppy | + | |
- | 2510 NEXT alc | + | |
- | 2520 GOTO 2540 | + | |
- | 2530 PRINT FNtab$(26,kl,CHR$(149)):RETURN | + | |
- | 2540 kl=0:GOSUB 2530 | + | |
- | 2550 kl=20:GOSUB 2530 | + | |
- | 2560 kl=45:GOSUB 2530 | + | |
- | 2570 kl=90:GOSUB 2530 | + | |
- | 2580 PRINT FNtab$(24, | + | |
- | 2590 : | + | |
- | 2600 PRINT FNtab$(26,22,"Vidas : ");: | + | |
- | 2610 PRINT FNtab$(26,47,"Puntuacion : ");:PRINT USING"############# | + | |
- | 2620 : | + | |
- | 2630 RETURN | + | |
- | 2640 ' | + | |
- | 2650 ' | + | |
- | 2660 ' Juago Finalizado | + | |
- | 2670 ' | + | |
- | 2680 ' | + | |
- | 2690 FOR TIME=1 TO 2800:NEXT TIME | + | |
- | 2700 PRINT VIDEON$ | + | |
- | 2710 FOR I=90 TO 0 STEP -1 | + | |
- | 2720 PRINT FNtab$(26,I,CHR$(32)) | + | |
- | 2730 NEXT I | + | |
- | 2735 frase$=" | + | |
- | 2740 PRINT FNtab$(24,47,frase$+STRING$(43-LEN(frase$),32)) | + | |
- | 2750 GOTO 2800 | + | |
- | 2760 FOR I=88-LEN(frase$) TO 2 STEP -1 | + | |
- | 2770 PRINT FNtab$(26,I,frase$) | + | |
- | 2780 NEXT I | + | |
- | 2790 RETURN | + | |
- | 2800 frase$=" | + | |
- | 2810 FOR TIME=1 TO 3000:NEXT TIME | + | |
- | 2820 frase$=CHR$(32):GOSUB 2760 | + | |
- | 2830 frase$=" | + | |
- | 2840 RES$=INKEY$: | + | |
- | 2850 IF RES$=" | + | |
- | 2860 IF RES$=" | + | |
- | 2870 GOTO 2840 | + | |
- | 2880 bxx=0:byy=0:puntos=0 | + | |
- | 2890 disparo=0 | + | |
- | 2900 PRINT BORRA$; | + | |
</ | </ | ||
===== Controles ===== | ===== Controles ===== | ||
- | | + | |
- | | + | P = DERECHA |
- | RETURN | + | |
+ | X = ABAJO | ||
+ | Q = ABANDONAR | ||
===== Carga del programa ===== | ===== Carga del programa ===== | ||
Línea 331: | Línea 237: | ||
1.- Introducir el disco CP/M por la cara 2 | 1.- Introducir el disco CP/M por la cara 2 | ||
2.- Escribir BASIC y esperar a que cargue | 2.- Escribir BASIC y esperar a que cargue | ||
- | 3.- Retirar el disco CP/M e introducir el disco que contiene el juego Tenemos visita | + | 3.- Retirar el disco CP/M e introducir el disco que contiene el juego Car Park |
- | 4.- Teclear run "Marciano" y pulsar la tecla " | + | 4.- Teclear run "Car" y pulsar la tecla " |
- | ===== Extras ===== | ||
===== Descarga ===== | ===== Descarga ===== | ||
- | * {{:otros:Tenemos visita | + | * {{:otros:Car Park (Basic).zip|Car Park }}(juego en formato dsk, comprimido con zip) |
| | ||
- | ===== Enlaces ===== | + |
es/car_park.1485509678.txt.gz · Última modificación: 2017/01/27 12:34 por jevicac