Herramientas de usuario

Herramientas del sitio


es:tenemos_visita

Diferencias

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

Enlace a la vista de comparación

es:tenemos_visita [2017/01/26 12:54] (actual)
jevicac creado
Línea 1: Línea 1:
 +====== TENEMOS VISITA ======
  
 +===== Ficha =====
 +{{:​otros:​Tenemos_visita_p1.jpg?​690|}}
 +^ Autor | Juan Jose Perez Torres ​      |
 +^ Compatibilidad | Amstrad PCW 8256 / 8512 / 9512 |
 +^ Año | 1989                              |
 +^ Género | Arcade ​                               |
 +^ Controles | Teclado ​                          |
 +^ Idioma | Español ​                          |
 +^ Estado | [[preservado|Preservado]] |
 +
 +===== Capturas =====
 +
 +{{:​otros:​Tenemos_visita_screenshot01.png?​220}} {{:​otros:​Tenemos_visita_screenshot02.png?​220}} {{:​otros:​Tenemos_visita_screenshot03.png?​220}} {{:​otros:​Tenemos_visita_screenshot04.png?​220}}
 +
 +===== Descripción =====
 +
 +El planeta Tierra, esta siendo invadido por seres extraterrestres. El gobierno de los Estados Unidos, te ha elegido para acabar con esta molesta visita. Si quieres que te sea sincero, ya puedes ir rezando por tu propia vida.
 +
 +Clásico juego matamarcianos bastante entretenido pero con un nivel de dificultad bastante alto. El movimiento de nuestra nave bastante lento y los misiles marcianos muy rápidos y cuesta esquivarlos. Otro problema que encontramos es que mientras nos movemos para esquivar los misiles marcianos y disparamos nuestra nave deja de moverse y nos matan.
 +
 +===== Listado =====
 +
 +  * **__Listado - MARCIANO.BAS__**
 +
 +<​file>​
 +10  ' *************************************************
 +20  ' Tenemos visita
 +30  ' ---------------------------------------------
 +40  ' Mallard Basic 
 +50  ' =============================================
 +60  ' Por; Juan Jose Perez Torres
 +70  ' ---------------------------------------------
 +80  ' Junio-Julio ​ de 1989
 +90  ' *************************************************
 +100 '
 +130 '
 +140 '
 +150 '
 +160 ' ​
 +170 OPTION RUN:​CLEAR:​DIM pantalla(27,​90)
 +180 :
 +190 alienigena=0:​cx=35:​disparo=0:​disparo1=0:​per=1:​puntos=0
 +200 :
 +210 BORRA$=CHR$(27)+"​E"​+CHR$(27)+"​H"​
 +220 SUBRON$=CHR$(27)+"​r":​SUBROFF$=CHR$(27)+"​u"​
 +230 CLARO$=CHR$(27)+"​bb"​+CHR$(27)+"​cc":​OSCURO$=CHR$(27)+"​cb"​+CHR$(27)+"​bc"​
 +240 CUROFF$=CHR$(27)+"​f":​CURON$=CHR$(27)+"​e"​
 +250 VIDEON$=CHR$(27)+"​p":​VIDEOFF$=CHR$(27)+"​q"​
 +260 DEF FNtab$(x,​y,​texto$)=CHR$(27)+"​Y"​+CHR$(32+x)+CHR$(32+y)+texto$
 +270 :
 +280 alienigena$(1)=CHR$(188)+CHR$(189)
 +290 alienigena$(2)=CHR$(190)+CHR$(191)
 +300 alienigena$(3)=CHR$(192)+CHR$(193)
 +310 alienigena$(4)=CHR$(194)+CHR$(195)
 +320 canon$=CHR$(32)+CHR$(197)+CHR$(32)
 +330 '
 +340 '
 +350 '
 +360 RESTORE 470
 +370 :
 +380 PRINT BORRA$
 +390 MEMORY 62210!
 +400 d=62928!:​inic=d:​GOSUB 440
 +410 d=62212!:​bol=d:​GOSUB 440
 +420 GOTO 510
 +430 :
 +440 READ a$:IF a$="​$"​ THEN RETURN
 +450 byte=VAL("&​H"​+a$):​POKE d,​byte:​d=d+1
 +460 GOTO 440
 +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,​$
 +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,​$
 +490 :
 +500 CALL inic
 +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
 +520 :
 +530 DATA 160,​0,​0,​14,​63,​127,​127,​15,​15
 +540 DATA 161,​0,​0,​0,​252,​254,​248,​243,​247
 +550 DATA 162,​0,​31,​63,​31,​31,​24,​0,​0
 +560 DATA 163,​0,​192,​192,​3,​135,​15,​15,​1
 +570 DATA 164,​0,​0,​1,​255,​255,​255,​255,​255
 +580 DATA 165,​0,​240,​255,​255,​255,​255,​255,​255
 +590 DATA 166,​0,​0,​254,​255,​255,​255,​241,​252
 +600 DATA 167,​31,​63,​63,​63,​63,​63,​63,​30
 +610 DATA 168,​255,​255,​254,​252,​248,​240,​224,​96
 +620 DATA 169,​15,​31,​31,​127,​112,​28,​255,​255
 +630 DATA 170,​255,​255,​255,​159,​63,​63,​223,​220
 +640 DATA 171,​255,​255,​255,​255,​255,​255,​255,​127
 +650 DATA 172,​252,​253,​253,​241,​248,​248,​252,​248
 +660 DATA 173,​28,​15,​7,​1,​0,​0,​0,​0
 +670 DATA 174,​96,​96,​0,​188,​254,​127,​127,​63
 +680 DATA 175,​1,​1,​1,​1,​0,​0,​0,​224
 +690 DATA 176,​255,​255,​255,​255,​255,​79,​7,​7
 +700 DATA 177,​239,​239,​240,​252,​252,​252,​240,​240
 +710 DATA 178,​63,​61,​28,​24,​8,​0,​0,​0
 +720 DATA 179,​240,​240,​112,​64,​64,​32,​0,​0
 +730 DATA 180,​127,​127,​63,​31,​31,​15,​15,​15
 +740 DATA 181,​240,​240,​240,​224,​224,​192,​128,​128
 +750 DATA 182,​7,​7,​7,​7,​3,​3,​1,​0
 +760 DATA 183,​240,​240,​246,​230,​236,​192,​128,​0
 +770 DATA 184,​0,​1,​3,​15,​31,​31,​31,​25
 +780 DATA 185,​0,​208,​248,​248,​248,​248,​240,​240
 +790 DATA 186,​15,​15,​6,​6,​2,​2,​0,​0
 +800 DATA 187,​224,​0,​0,​0,​0,​0,​0,​0
 +810 DATA 188,​3,​5,​127,​70,​67,​2,​18,​30
 +820 DATA 189,​194,​162,​254,​96,​192,​64,​72,​120 ​    
 +830 DATA 190,​0,​3,​5,​7,​30,​63,​48,​48
 +840 DATA 191,​0,​192,​160,​224,​120,​252,​12,​12
 +850 DATA 192,​99,​101,​127,​6,​3,​127,​96,​96
 +860 DATA 193,​198,​166,​254,​96,​192,​254,​6,​6
 +870 DATA 194,​0,​7,​77,​127,​78,​71,​67,​64
 +880 DATA 195,​0,​224,​178,​254,​114,​226,​194,​2
 +890 DATA 196,​255,​24,​60,​126,​126,​126,​60,​24
 +900 DATA 197,​60,​60,​60,​60,​60,​60,​255,​255
 +910 DATA 198,​0,​24,​60,​60,​60,​60,​24,​126
 +920 DATA 199,​126,​24,​60,​60,​60,​60,​24,​0
 +930 DATA 200,​255,​0,​170,​85,​170,​85,​0,​255
 +940 DATA 201,​255,​0,​0,​0,​0,​0,​0,​0
 +950 DATA 202,​0,​0,​0,​0,​0,​0,​0,​255
 +960  '
 +970  '
 +980  ' Presentacion
 +990  '
 +1000  '
 +1010  PRINT CUROFF$
 +1020 a$=CHR$(160)+CHR$(161)+CHR$(162)+CHR$(163)+CHR$(164)+CHR$(165)+CHR$(166):​x=3:​y=2:​GOSUB 1080
 +1030 a$=CHR$(167)+CHR$(168)+CHR$(32)+CHR$(169)+CHR$(170)+CHR$(171)+CHR$(172):​x=4:​y=2:​GOSUB 1080
 +1040 a$=CHR$(173)+CHR$(174)+CHR$(175)+CHR$(176)+CHR$(177)+CHR$(178)+CHR$(179):​x=5:​y=2:​GOSUB 1080
 +1050 a$=CHR$(32)+CHR$(180)+CHR$(181)+CHR$(182)+CHR$(183)+CHR$(32)+CHR$(184)+CHR$(185):​x=6:​y=2:​GOSUB 1080
 +1060 a$=CHR$(32)+CHR$(186)+STRING$(5,​32)+CHR$(187):​x=7:​y=2:​GOSUB 1080
 +1070 GOTO 1090
 +1080 PRINT FNtab$(x,​y,​a$):​RETURN
 +1090 :
 +1100 frase$="​TENEMOS VISITA ":​GOSUB 1110:GOTO 1220
 +1110 FOR I=90-LEN(frase$) TO 20 STEP -1
 +1120 PRINT FNtab$(3,​I,​frase$+CHR$(32))
 +1130 NEXT I
 +1140 PRINT SUBRON$
 +1150 FOR I=1 TO LEN(frase$)-1
 +1160 PRINT FNtab$(3,​19+I,​MID$(frase$,​I,​1))
 +1170 FOR TIME=1 TO 100:NEXT TIME
 +1180 NEXT I
 +1190 PRINT SUBROFF$
 +1200 RETURN
 +1210 :
 +1220 x=5:​y=20:​a$="​El planeta Tierra, esta siendo invadido por seres extraterrestres.":​GOSUB 1270
 +1230 x=7:​y=20:​a$="​El gobierno de los Estados Unidos, te ha elegido para acabar con esta ":​GOSUB 1270
 +1240 x=9:​y=20:​a$="​molesta visita. Si quieres que te sea sincero, ya puedes ir rezando":​GOSUB 1270
 +1250 x=11:​y=20:​a$="​por tu propia vida.":​GOSUB 1270
 +1260 GOSUB 1320
 +1270 FOR I=1 TO LEN(a$)
 +1280 PRINT FNtab$(x,​y+(I-1),​MID$(a$,​I,​1))
 +1290 FOR R=1 TO 100:NEXT R
 +1300 NEXT I
 +1310 RETURN
 +1320 FOR I=5 TO 85:FOR J=5 TO 11
 +1330 pantalla(J,​I)=0
 +1340 NEXT J,I
 +1350 :
 +1360 frase$="​Presenta,​ Juan Jose Perez Torres"​
 +1370 PRINT VIDEON$
 +1380 PRINT FNtab$(18,​45,​STRING$(LEN(frase$)+2,​CHR$(32)))
 +1390 PRINT FNtab$(19,​45,​CHR$(32)+frase$+CHR$(32))
 +1400 PRINT FNtab$(20,​45,​STRING$(LEN(frase$)+2,​CHR$(32)))
 +1410 PRINT VIDEOFF$
 +1420 FOR TIME=1 TO 6000:NEXT TIME
 +1430 :
 +1440 FOR I=3 TO 20
 +1450 FOR TIME=1 TO 150:NEXT TIME
 +1460 PRINT FNtab$(I,​0,​STRING$(90,​32))
 +1470 NEXT I
 +1480 GOSUB 2320
 +1490 '
 +1500 '
 +1510 ' Eleccion de alienigenas
 +1520 '
 +1530 '
 +1540 vida=5:​GOSUB 2590
 +1550 d=INT(RND*4)+1
 +1560 IF d=alienigena THEN 1550
 +1570 alienigena=d
 +1580 inv$=alienigena$(alienigena)
 +1590 muertos=0
 +1600 '
 +1610 '
 +1620 ' Pantalla de Juego
 +1630 '
 +1640 '
 +1650 FOR I=20 TO 70 STEP 4:FOR J=4 TO 15 STEP 2
 +1660 PRINT FNtab$(J,​I,​inv$)
 +1670 pantalla(J,​I)=1:​pantalla(J,​I+1)=1
 +1680 NEXT J,I
 +1690 PRINT FNtab$(21,​cx,​canon$)
 +1700 '
 +1710 '
 +1720 ' Movimiento del ca|on
 +1730 '
 +1740 '
 +1750 D$=INKEY$
 +1760 IF muertos=78 THEN bxx=0:​byy=0:​GOTO 1490
 +1770 IF D$=CHR$(1) AND cx>18 THEN cx=cx-1
 +1780 IF D$=CHR$(6) AND cx<69 THEN cx=cx+1
 +1790 IF D$=CHR$(13) AND disparo=0 THEN disparo=1:​bx=21:​by=cx+1
 +1800 IF disparo=1 THEN GOSUB 1840
 +1810 PRINT FNtab$(21,​cx,​canon$)
 +1820 GOSUB 2010
 +1830 GOTO 1750
 +1840 '
 +1850 '
 +1860 ' Disparo
 +1870 '
 +1880 '
 +1890 bx=bx-1
 +1900 PRINT FNtab$(bxx,​byy,​CHR$(32))
 +1910 PRINT FNtab$(bx,​by,​CHR$(198))
 +1920 byy=by:​bxx=bx
 +1930 IF bx=3 THEN disparo=0:​PRINT FNtab$(bxx,​byy,​CHR$(32))
 +1940 IF pantalla(bx,​by)=1 THEN GOSUB 1960
 +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=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),​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 0 STEP -1
 +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 2 STEP -1
 +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=1 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=1 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>​
 +
 +===== Controles =====
 +
 +        → = DERECHA
 +        ← = IZQUIERDA
 +   ​RETURN = DISPARO
 +
 +===== Carga del programa =====
 +
 +  1.- Introducir el disco CP/M por la cara 2
 +  2.- Escribir BASIC y esperar a que cargue
 +  3.- Retirar el disco CP/M e introducir el disco que contiene el juego Tenemos visita
 +  4.- Teclear run "​Marciano"​ y pulsar la tecla "​ENTER"​
 +
 +===== Extras =====
 +
 +===== Descarga =====
 +
 +  * {{:​otros:​Tenemos visita (Basic).zip|Tenemos visita }}(juego en formato dsk, comprimido con zip)
 +  ​
 +===== Enlaces =====
es/tenemos_visita.txt · Última modificación: 2017/01/26 12:54 por jevicac