Traducciones de esta página:

Herramientas de usuario

Herramientas del sitio


es:tenemos_visita

TENEMOS VISITA

Ficha

Tenemos_visita_p1.jpg

Autor Juan Jose Perez Torres
Compatibilidad Amstrad PCW 8256 / 8512 / 9512
Año 1989
Género Arcade
Controles Teclado
Idioma Español
Estado Preservado

Capturas

Tenemos_visita_screenshot01.png Tenemos_visita_screenshot02.png Tenemos_visita_screenshot03.png Tenemos_visita_screenshot04.png

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
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

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

Enlaces

es/tenemos_visita.txt · Última modificación: 2017/01/26 12:54 por jevicac