Herramientas de usuario

Herramientas del sitio


es:car_park

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
es:car_park [2017/01/27 12:34] – creado jevicaces:car_park [2022/06/30 10:27] (actual) – [Extras] jevicac
Línea 1: Línea 1:
 ====== CAR PARK ====== ====== CAR PARK ======
  
-===== Ficha ===== 
 {{:otros:Car_park_p1.jpg?690|}} {{:otros:Car_park_p1.jpg?690|}}
 +
 +===== 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__**
  
 <file> <file>
-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:WEND:GOSUB 510:WEND 
-30  ' --------------------------------------------- +30 PRINT e$"e"e$"1":MEMORY highmem!:RUN"menu 
-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:gy=22:POKE pen,85:CALL pr(gx,gy,caru$):POKE pen,255 
-60  ' Por; Juan Jose Perez Torres +60 WHILE go:i$=LOWER$(INKEY$
-70  ' --------------------------------------------- +70 IF i$="oTHEN GOSUB 180 
-80  ' Junio-Julio  de 1989 +80 IF i$="pTHEN GOSUB 210 
-90  ' ************************************************* +90 IF i$="sTHEN GOSUB 240 
-100 ' +100 IF i$="xTHEN GOSUB 270 
-130 ' +110 IF i$="qTHEN go=0:play=0:lives=0 
-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:GOSUB 150 
-160 '  +140 WEND:RETURN 
-170 OPTION RUN:CLEAR:DIM pantalla(27,90) +150 a$=STR$(shield):a$=RIGHT$(a$,LEN(a$)-1):a$=LEFT$("000",3-LEN(a$))+a
-180 +160 POKE paper,85:x=62:y=25:CALL pr(x,y,a$):POKE paper,0:RETURN 
-190 alienigena=0:cx=35:disparo=0:disparo1=0:per=1:puntos=+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)+"E"+CHR$(27)+"H" +190 POKE pen,85:CALL pr(cx,cy,b$):POKE pen,255 
-220 SUBRON$=CHR$(27)+"r":SUBROFF$=CHR$(27)+"u" +200 c=1:c$=carl$:cx=cx-2:CALL pr(cx,cy,c$):GOSUB 300:RETURN 
-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)+"e" +220 POKE pen,85:CALL pr(cx,cy,b$):POKE pen,255 
-250 VIDEON$=CHR$(27)+"p":VIDEOFF$=CHR$(27)+"q" +230 c=2:c$=carr$:cx=cx+2:CALL pr(cx,cy,c$):GOSUB 300:RETURN 
-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,cy,c$):GOSUB 300:RETURN 
-290 alienigena$(2)=CHR$(190)+CHR$(191+270 IF a(cx,cy+1,0)=THEN RETURN 
-300 alienigena$(3)=CHR$(192)+CHR$(193+280 POKE pen,85:CALL pr(cx,cy,b$):POKE pen,255 
-310 alienigena$(4)=CHR$(194)+CHR$(195+290 c=4:c$=card$:cy=cy+1:CALL pr(cx,cy,c$):GOSUB 300:RETURN 
-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:RETURN 
-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:RETURN 
-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$):gy=gy-1:CALL pr(gx,gy,caru$):RETURN 
-410 d=62212!:bol=d:GOSUB 440 +390 IF a(gx,gy+1,0)=1 THEN RETURN 
-420 GOTO 510 +400 CALL pr(gx,gy,g$):gy=gy+1:CALL pr(gx,gy,card$):RETURN 
-430 +410 IF a(gx-1,gy,0)=1 OR a(gx-2,gy,0)=1 THEN RETURN 
-440 READ a$:IF a$="$" THEN RETURN +420 CALL pr(gx,gy,g$):gx=gx-2:CALL pr(gx,gy,carl$):RETURN 
-450 byte=VAL("&H"+a$):POKE d,byte:d=d+1 +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$):gx=gx+2:CALL pr(gx,gy,carr$):RETURN 
-470 DATA 2A,01,00,11,57,00,19,22,02,F6,01,E3,F5,CD,01,F6,E9,00,C9,11,98,2C,21,00,B6,06,20,C5,06,08,73,23,72,23,13,10,F9,E5,EB,01,60,01,09,EB,E1,C1,10,EB,C9,C3,00,00,$ +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,19,22,3E,F3,01,27,F3,CD,3D,F3,E9,00,C9,2A,40,F3,26,00,29,29,29,11,00,B8,19,11,41,F3,EB,01,08,00,ED,B0,C9,C3,38,00,0B,00,B0,04,87,20,4C,44,49,$ +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:GOSUB 1070:RETURN ELSE RETURN 
-500 CALL inic +480 x=64:y=27:a$=STR$(lives):a$=RIGHT$(a$,LEN(a$)-1):IF LEN(a$)<2 THEN a$="0"+a$ 
-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,0:RETURN 
-520 +500 REM End-of-game messages 
-530 DATA 160,0,0,14,63,127,127,15,15 +510 PRINT cls$:POKE double,1:IF floor=6 THEN a$="WELL DONE!"ELSE a$="Hard luck! 
-540 DATA 161,0,0,0,252,254,248,243,247 +520 x=10:y=6:CALL pr(x,y,a$) 
-550 DATA 162,0,31,63,31,31,24,0,0 +530 IF floor=6 THEN a$="You have parked your car!"ELSE a$="No lives left! 
-560 DATA 163,0,192,192,3,135,15,15,1 +540 y=10:CALL pr(x,y,a$):y=14:a$="SCORE:"+STR$(score)+".":CALL pr(x,y,a$) 
-570 DATA 164,0,0,1,255,255,255,255,255 +550 y=20:a$="Play again?  (Y/N)":CALL pr(x,y,a$) 
-580 DATA 165,0,240,255,255,255,255,255,255 +560 WHILE i$<>"Y"AND i$<>"N":i$=UPPER$(INKEY$):WEND 
-590 DATA 166,0,0,254,255,255,255,241,252 +570 IF i$="N"THEN yes=0:RETURN ELSE RETURN  
-600 DATA 167,31,63,63,63,63,63,63,30 +580 REM Expose squares 
-610 DATA 168,255,255,254,252,248,240,224,96 +590 PRINT bleep$;:POKE pen,0:POKE paper,255 
-620 DATA 169,15,31,31,127,112,28,255,255 +600 z=INT(RND*15)+1:IF square(z)=1 THEN 600 
-630 DATA 170,255,255,255,159,63,63,223,220 +610 IF z=1 THEN x=14:y=5 
-640 DATA 171,255,255,255,255,255,255,255,127 +620 IF z=2 THEN x=26:y=5 
-650 DATA 172,252,253,253,241,248,248,252,248 +630 IF z=3 THEN x=38:y=5 
-660 DATA 173,28,15,7,1,0,0,0,0 +640 IF z=4 THEN x=50:y=5 
-670 DATA 174,96,96,0,188,254,127,127,63 +650 IF z=5 THEN x=62:y=5 
-680 DATA 175,1,1,1,1,0,0,0,224 +660 IF z=6 THEN x=14:y=11 
-690 DATA 176,255,255,255,255,255,79,7,7 +670 IF z=7 THEN x=26:y=11 
-700 DATA 177,239,239,240,252,252,252,240,240 +680 IF z=8 THEN x=38:y=11 
-710 DATA 178,63,61,28,24,8,0,0,0 +690 IF z=9 THEN x=50:y=11 
-720 DATA 179,240,240,112,64,64,32,0,0 +700 IF z=10 THEN x=62:y=11 
-730 DATA 180,127,127,63,31,31,15,15,15 +710 IF z=11 THEN x=14:y=17 
-740 DATA 181,240,240,240,224,224,192,128,128 +720 IF z=12 THEN x=26:y=17 
-750 DATA 182,7,7,7,7,3,3,1,+730 IF z=13 THEN x=38:y=17 
-760 DATA 183,240,240,246,230,236,192,128,0 +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,248,240,240 +760 a=x+2:a$=SPACE$(3):FOR b=y+1 TO y+3:CALL pr(a,b,a$):NEXT:POKE pen,255:POKE paper,0 
-790 DATA 186,15,15,6,6,2,2,0,+770 IF z MOD 4=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,+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,5,127,70,67,2,18,30 +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:b=y+4:CALL pr(a,b,sp$):FOR b=2 TO 4:a(x+4,y+b,0)=0:NEXT 
-830 DATA 190,0,3,5,7,30,63,48,48 +810 POKE pen,0:POKE paper,255:x=x+4:y=y+
-840 DATA 191,0,192,160,224,120,252,12,12 +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,3,127,96,96 +830 square(z)=1:POKE pen,255:POKE paper,0:RETURN 
-860 DATA 193,198,166,254,96,192,254,6,6 +840 IF floor<5 THEN u$="^"ELSE u$=p$ 
-870 DATA 194,0,7,77,127,78,71,67,64 +850 CALL pr(x,y,u$):a(x,y,1)=21:RETURN 
-880 DATA 195,0,224,178,254,114,226,194,2 +860 CALL pr(x,y,key$):a(x,y,1)=22:RETURN 
-890 DATA 196,255,24,60,126,126,126,60,24 +870 CALL pr(x,y,caru$):a(x,y,1)=23:RETURN 
-900 DATA 197,60,60,60,60,60,60,255,255 +880 CALL pr(x,y,caru$):a(x,y,1)=24:RETURN 
-910 DATA 198,0,24,60,60,60,60,24,126 +890 CALL pr(x,y,caru$):a(x,y,1)=25:RETURN 
-920 DATA 199,126,24,60,60,60,60,24,0 +900 REM Car triggers squares 
-930 DATA 200,255,0,170,85,170,85,0,255 +910 IF key THEN PRINT bleep$;:floor=floor+1:GOSUB 1030:go=0:GOSUB 1070:IF floor=6 THEN play=0:RETURN ELSE RETURN 
-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:RETURN 
-950 DATA 202,0,0,0,0,0,0,0,255 +930 IF sc=10 THEN PRINT bleep$;:key=-1:GOSUB 1030:score=score+250:GOSUB 1050:RETURN 
-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  ' Presentacion +960 cx=cx+2:RETURN 
-990  ' +970 cx=cx-2:RETURN 
-1000  ' +980 cy=cy+1:RETURN 
-1010  PRINT CUROFF+990 cy=cy-1:RETURN 
-1020 a$=CHR$(160)+CHR$(161)+CHR$(162)+CHR$(163)+CHR$(164)+CHR$(165)+CHR$(166):x=3:y=2:GOSUB 1080 +1000 PRINT bleep$:shield=shield+175:GOSUB 1030:RETURN 
-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$:lives=lives+2:GOSUB 480:GOSUB 1030:RETURN 
-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$;:sc=sc+1:score=score+100:GOSUB 1050:GOSUB 1030:RETURN 
-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:y=27:a$=STR$(score):a$=RIGHT$(a$,LEN(a$)-1):a$=LEFT$("0000",4-LEN(a$))+a$ 
-1080 PRINT FNtab$(x,y,a$):RETURN +1060 POKE paper,85:CALL pr(x,y,a$):POKE paper,0:RETURN 
-1090 : +1070 FOR a=0 TO 2000:NEXT:RETURN 
-1100 frase$="TENEMOS VISITA ":GOSUB 1110:GOTO 1220 +1080 REM Draw screen 
-1110 FOR I=90-LEN(frase$) TO 20 STEP -1 +1090 POKE paper,85:POKE double,0:POKE pen,255:IF floor=1 THEN GOSUB 1100:GOSUB 1190:RETURN ELSE GOSUB 1190:RETURN 
-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,1,a1$);FNat$(x1,1,a1$); 
-1150 FOR I=TO LEN(frase$)-1 +1130 FOR y=25 TO 27 STEP 2:PRINT FNat$(x,y,a1$);FNat$(x1,y,a1$);:NEXT 
-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,a1$);FNat$(x,28,a1$); 
-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:"+SPACE$(12)+"Lives:"+SPACE$(6) 
-1200 RETURN +1180 y=27:CALL pr(x,y,a$):GOSUB 480:GOSUB 1050:POKE paper,85:RETURN 
-1210 : +1190 a$=" Please wait..."+SPACE$(16):x=12:y=25:CALL pr(x,y,a$):POKE paper,0 
-1220 x=5:y=20:a$="El planeta Tierra, esta siendo invadido por seres extraterrestres.":GOSUB 1270 +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:a$="molesta visita. Si quieres que te sea sincero, ya puedes ir rezando":GOSUB 1270 +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=TO 17 STEP 6 
-1310 RETURN +1290 a$=CHR$(150):PRINT FNat$(x,y,a$);:a(x,y,0)=1 
-1320 FOR I=5 TO 85:FOR J=5 TO 11 +1300 a$=CHR$(154):FOR a=TO 8:PRINT FNat$(x+a,y,a$);:a(x+a,y,0)=1:NEXT 
-1330 pantalla(J,I)=+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,y+a,a$);FNat$(x+9,y+a,a$)
-1350 : +1330 FOR b=1 TO 8:a(x+b,y+a,0)=1:NEXT:a(x,y+a,0)=1:a(x+9,y+a,0)=1:NEXT  
-1360 frase$="Presenta, Juan Jose Perez Torres" +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:PRINT FNat$(x+b,y+a,a$);:a(x+b,y+a,0)=1:NEXT 
-1380 PRINT FNtab$(18,45,STRING$(LEN(frase$)+2,CHR$(32))) +1360 a$=CHR$(153):PRINT FNat$(x+b,y+a,a$);:a(x+b,y+a,0)=1:NEXT y,x 
-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=TO 22 STEP 6:a(x,y,1)=1:NEXT y,x 
-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=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=TO 20 +1420 a(x,y,1)=a:NEXT:POKE paper,85 
-1450 FOR TIME=1 TO 150:NEXT TIME +1430 a$=" Floor:"+STR$(floor)+SPACE$(8)+"Shield: 000"+SPACE$(2) 
-1460 PRINT FNtab$(I,0,STRING$(90,32)+1440 x=12:y=25:CALL pr(x,y,a$):POKE paper,0 
-1470 NEXT I +1450 FOR a=1 TO 15:square(a)=0:NEXT:RETURN 
-1480 GOSUB 2320 +1460 REM Set up 
-1490 ' +1470 DEFINT a-z:highmem!=HIMEM:MEMORY &HCFFF:e$=CHR$(27):cls$=e$+"E"+e$+"H" 
-1500 ' +1480 DEF FNat$(x,y,a$)=e$+"Y"+CHR$(32+y)+CHR$(32+x)+a$ 
-1510 ' Eleccion de alienigenas +1490 DIM a(74,23,1),square(15) 
-1520 ' +1500 PRINT cls$e$"f"e$"0";:title$=" * * * C A R   P A R K * * * ":a=LEN(title$
-1530 ' +1510 b=(90-a)/2:PRINT e$"p";FNat$(b,0,SPACE$(a));FNat$(b,1,title$);FNat$(b,2,SPACE$(a));e$"
-1540 vida=5:GOSUB 2590 +1520 PRINT:PRINT TAB(8)"Welcome to the Car Park, where the aim of the game is to drive up to the":PRINT TAB(8)"fifth floor and park your car.":PRINT 
-1550 d=INT(RND*4)++1530 PRINT TAB(8)"Steer your vehicle by pressing 'o' to move left":PRINT TAB(39)"'p' to move right":PRINT TAB(39)"'s' to move up and":PRINT TAB(39)"'xto move down.":PRINT TAB(8)"Press 'qto quit the game.":PRINT 
-1560 IF d=alienigena THEN 1550 +1540 PRINT TAB(8)"Watch out for the ghost car on patrol.  He is easily hidden in your":PRINT TAB(8)"exhaust fumes!":PRINT 
-1570 alienigena=d +1550 PRINT TAB(8)"As you drive around you will pass over secret switches in the floor.  These":PRINT TAB(8)"will reveal the contents of the squares.  You must enter each square and":PRINT TAB(8)"collect the contents.":PRINT 
-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 samebut their contents vary.  Some give you":PRINT TAB(8)"extra livesothers a limited shield against the ghost car, others more points. 
-1600 ' +1580 PRINT TAB(8)"All the points must be collected before you can get a key.":PRINT 
-1610 ' +1590 RESTORE 1750:address=&HE000 
-1620 ' Pantalla de Juego +1600 READ code:WHILE code<256:POKE address,code:address=address+1:READ code:WEND 
-1630 ' +1610 screen=&HE000:pr=&HE003:UDGs=&HD100:pen=&HD001:paper=&HD000:double=&HD006 
-1640 ' +1620 RESTORE 1680:FOR i=0 TO 47:READ j:POKE udgs+i,j:NEXT 
-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!):b$=CHR$(187):sp$=":bleep$=CHR$(7
-1670 pantalla(J,I)=1:pantalla(J,I+1)=1 +1650 a$="p Press a key to play. ":PRINT:PRINT TAB((90-LEN(a$)+1)/2)e$a$e$"q":WHILE INKEY$="":WEND 
-1680 NEXT J,I +1660 CALL screen:RETURN 
-1690 PRINT FNtab$(21,cx,canon$) +1670 REM Graphics data 
-1700 ' +1680 DATA 20,62,34,62,62,62,34,28 
-1710 ' +1690 DATA 28,34,62,62,62,34,62,20 
-1720 ' Movimiento del ca|on +1700 DATA 0,0,126,187,186,187,126,0 
-1730 ' +1710 DATA 0,0,126,221,93,221,126,0 
-1740 ' +1720 DATA 0,224,191,191,167,229,0,0 
-1750 D$=INKEY$ +1730 DATA 255,129,189,165,189,161,161,255 
-1760 IF muertos=78 THEN bxx=0:byy=0:GOTO 1490 +1740 REM Machine code 
-1770 IF D$=CHR$(1AND cx>18 THEN cx=cx-+1750 DATA 195,6,224,195,91,224,205,41,224,17,152,44,33,0,182,1,104,1,62 
-1780 IF D$=CHR$(6AND cx<69 THEN cx=cx+1 +1760 DATA 32,245,213,62,8,115,35,114,35,19,61,32,248,209,235,9,235,241,61 
-1790 IF D$=CHR$(13AND disparo=0 THEN disparo=1:bx=21:by=cx++1770 DATA 32,236,201,193,205,90,252,233,0,201,102,26,111,34,2,208,10,50,16 
-1800 IF disparo=1 THEN GOSUB 1840 +1780 DATA 208,3,10,111,3,10,103,237,75,16,208,6,0,17,19,208,237,176,42 
-1810 PRINT FNtab$(21,cx,canon$) +1790 DATA 2,208,205,252,224,34,4,208,33,19,208,34,17,208,201,205,48,224,205 
-1820 GOSUB 2010 +1800 DATA 41,224,243,42,17,208,126,35,34,17,208,205,234,224,17,79,225,1,8 
-1830 GOTO 1750 +1810 DATA 0,237,176,221,42,4,208,14,8,253,33,79,225,42,0,208,125,6,8 
-1840 ' +1820 DATA 253,203,0,6,56,13,7,221,203,8,22,221,203,0,22,7,195,164,224 
-1850 ' +1830 DATA 203,4,221,203,8,22,221,203,0,22,203,4,221,203,8,22,221,203,0 
-1860 ' Disparo +1840 DATA 22,16,215,253,35,58,6,208,167,202,209,224,221,126,8,221,119,9,221 
-1870 ' +1850 DATA 126,0,221,119,1,221,35,121,254,5,194,209,224,1,200,2,221,9,79 
-1880 ' +1860 DATA 221,35,13,194,130,224,42,4,208,1,16,0,9,34,4,208,33,16,208 
-1890 bx=bx-+1870 DATA 53,194,98,224,251,201,17,0,184,254,32,48,3,17,0,209,111,38,0 
-1900 PRINT FNtab$(bxx,byy,CHR$(32)+1880 DATA 41,41,41,25,201,92,38,0,84,203,37,1,15,225,9,78,35,70,235 
-1910 PRINT FNtab$(bx,by,CHR$(198)+1890 DATA 41,41,41,9,201,48,89,0,92,208,94,160,97,112,100,64,103,16,106 
-1920 byy=by:bxx=bx +1900 DATA 224,108,176,111,128,114,80,117,32,120,240,122,192,125,144,128,96,131,48 
-1930 IF bx=3 THEN disparo=0:PRINT FNtab$(bxx,byy,CHR$(32)+1910 DATA 134,0,137,208,139,160,142,112,145,64,148,16,151,224,153,176,156,128,159 
-1940 IF pantalla(bx,by)=1 THEN GOSUB 1960 +1920 DATA 80,162,32,165,240,167,192,170,144,173,96,176,0,0,0,0,0,0,256
-1950 RETURN +
-1960 IF pantalla(bx,by-1)=1 THEN ey=by-1 ELSE ey=by +
-1970 PRINT CHR$(7):PRINT FNtab$(bx,ey,STRING$(2,32)):pantalla(bx,ey)=0:pantalla(bx,ey+1)=0 +
-1980 muertos=muertos+1:puntos=puntos+15:GOSUB 2610 +
-1990 disparo=0 +
-2000 RETURN +
-2010 ' +
-2020 ' +
-2030 ' Disparos alienigenas +
-2040 ' +
-2050 ' +
-2060 IF disparo1=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))=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)++
-2230 IF pantalla(dx(I),dy(I))=1 THEN IF pantalla(dx(I),dy(I)-1)=THEN dy(I)=dy(I)-ELSE dy(I)=dy(I)+1 +
-2240 PRINT FNtab$(dxx(I),dyy(I),CHR$(32)+
-2250 PRINT FNtab$(dx(I),dy(I),CHR$(199)+
-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:FOR ITY=1 TO 15:PRINT FNtab$(0,0,CHR$(7)):PRINT FNtab$(0,27,CLARO$):PRINT FNtab$(0,54,OSCURO$):NEXT ITY:GOSUB 2600 +
-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 Marcadores +
-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:os$=CHR$(202):GOSUB 2380 +
-2440 ppx=25:os$=CHR$(200):GOSUB 2380 +
-2450 ppx=27:os$=CHR$(201):GOSUB 2380 +
-2460 : +
-2470 FOR alc=1 TO 4 +
-2480 FOR ppy=80 TO alc*3 STEP -1 +
-2490 PRINT FNtab$(26,ppy,alienigena$(alc)+CHR$(32)+
-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,1,"RETURN Disparar."+CHR$(149)+CHR$(27)+CHR$(12)+" Derecha."+CHR$(149)+CHR$(27)+CHR$(11)+" Izquierda."+CHR$(149)+
-2590 : +
-2600 PRINT FNtab$(26,22,"Vidas : ");:PRINT USING "###";vida +
-2610 PRINT FNtab$(26,47,"Puntuacion : ");:PRINT USING"#############";puntos +
-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 STEP -+
-2720 PRINT FNtab$(26,I,CHR$(32)) +
-2730 NEXT I +
-2735 frase$="   PUNTUACION FINAL :"+STR$(puntos)+"." +
-2740 PRINT FNtab$(24,47,frase$+STRING$(43-LEN(frase$),32)) +
-2750 GOTO 2800 +
-2760 FOR I=88-LEN(frase$) TO STEP -+
-2770 PRINT FNtab$(26,I,frase$) +
-2780 NEXT I +
-2790 RETURN +
-2800 frase$="J U E G O T E R M I N A D O ":GOSUB 2760 +
-2810 FOR TIME=TO 3000:NEXT TIME +
-2820 frase$=CHR$(32):GOSUB 2760 +
-2830 frase$="]DESEAS JUGAR OTRA VEZ (S/N)? ":GOSUB 2760 +
-2840 RES$=INKEY$:RES$=UPPER$(RES$) +
-2850 IF RES$="N" THEN FOR I=TO 30:PRINT:NEXT I:PRINT CURON$;VIDEOFF$:NEW +
-2860 IF RES$="S" THEN GOTO 2880 +
-2870 GOTO 2840 +
-2880 bxx=0:byy=0:puntos=0 +
-2890 disparo=0 +
-2900 PRINT BORRA$;VIDEOFF$:GOTO 1480+
 </file> </file>
  
 ===== Controles ===== ===== Controles =====
  
-        → = DERECHA +        O = IZQUIERDA 
-        ← IZQUIERDA +        P = DERECHA 
-   RETURN DISPARO+        ARRIBA 
 +        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 "ENTER"+  4.- Teclear run "Car" y pulsar la tecla "ENTER" 
  
-===== Extras ===== 
  
 ===== Descarga ===== ===== Descarga =====
  
-  * {{:otros:Tenemos visita (Basic).zip|Tenemos visita }}(juego en formato dsk, comprimido con zip)+  * {{: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