Herramientas de usuario

Herramientas del sitio


es:ethernet

ETHERNET

Ficha

Autor Tim Barnes
Computadora Amstrad PCW 8256 / 8512 / 9512
Año 1988
Género Arcade
Controles Teclado
Lenguajes Inglés
Estado Preservado

Capturas

Descripción

El juego comienza en una cuadrícula de 12×11 y la idea es mantenerse con vida mientras somos rodeados con un creciente número de símbolos amenazadores incluyendo un cráneo.

Podemos movernos en línea recta inclusive salirnos por el borde de la pantalla, apareciendo en el lado opuesto. Si no deseamos movernos basta con pulsar return. Los símbolos se mueven por toda la pantalla y tratarán de rodearnos haciendo que se acabe el juego cuando lo consigan.

Podemos encontrarnos algunos tesoros por las pantallas como números o diamantes o matar a uno de nuestros asesinos. Nuestra misión será evitar que nos mate uno de los asesinos el cual puede matarnos en una casilla adyacente a la nuestra. Otra oportunidad que tenemos es empujar a uno de los esclavos. Un juego bastante compulsivo.

Listado

  • Listado 1 - SETUP.BAS
10 MEMORY &HBFFE: FOR h=&HC070 TO &HC098:READ p:POKE h,p:NEXT
20 FOR c=160 TO 187:POKE &HC099,c
30 FOR r=1 TO 8:READ binary(r):POKE &HC099+r,(binary(r)):NEXT r
40 cl=&HC070:CALL cl:NEXT c
50 DATA 243,62,129,211,241,62,130,211,242,175,95,103,22,184,58,153,192,111,41,41
60 DATA 41,25,17,154,192,235,1,8,0,237,176,62,133,211,241,62,134,211,242,251,201
70 DATA 0,32,0,2,2,0,32,0,0,8,0,128,128,0,8,0
80 DATA 10,41,169,170,186,42,10,0,240,252,206,254,126,188,240,0
90 DATA 85,131,135,131,131,131,85,0,84,130,130,130,130,130,84,0
100 DATA 85,143,156,129,135,159,85,0,84,226,114,226,130,242,84,0
110 DATA 85,143,156,129,156,143,85,0,84,226,114,226,114,226,84,0
120 DATA 3,15,58,251,58,15,3,170,129,225,185,191,185,225,129,170
130 DATA 31,195,192,243,192,195,31,85,224,12,12,60,12,12,224,85
140 DATA 249,225,7,86,7,225,249,85,62,14,192,212,192,14,62,85
150 DATA 0,31,57,63,29,7,0,170,1,241,153,249,113,193,1,170
160 DATA 229,249,206,195,200,192,255,85,84,68,84,148,228,56,252,85
170 DATA 255,213,213,215,220,240,255,85,252,118,198,6,6,6,254,85
180 DATA 253,253,253,0,169,169,169,85,84,84,84,0,252,252,252,85
190 DATA 255,213,215,214,215,213,255,85,254,86,214,214,214,86,254,85
200 DATA 153,36,90,169,149,90,36,90,90,36,90,149,169,90,36,153
210 CHAIN "ethernet
  • Listado 2 - ETHERNET.BAS
10 DEF FNxy$(x,y)=CHR$(27)+"Y"+CHR$(41+y)+CHR$(60+x*2):WIDTH 255
20 n$=CHR$(0)+CHR$(5)+STRING$(3,2)+STRING$(2,3)+CHR$(4)+STRING$(3,6)+STRING$(3,7)
30 n$=n$+STRING$(3,9)+STRING$(3,10)+STRING$(3,11)+STRING$(3,12)
40 DIM m(12):m(6)=5:m(7)=5:m(9)=3:m(10)=3:m(11)=7:m(12)=7
50 DIM s(99,2):DIM b(13,13):DIM c$(12)
60 PRINT CHR$(27);"E";CHR$(27);"0";CHR$(27);"f":b$=CHR$(186)+CHR$(187)
70 bb$=STRING$(28,186):rv$=CHR$(27)+"p":nv$=CHR$(27)+"q"
80 FOR z=160 TO 184 STEP 2:c$((z-160)/2)=CHR$(z)+CHR$(z+1):NEXT z:GOSUB 90:GOTO 200
90 FOR x=1 TO 12:FOR y=1 TO 11:b(x,y)=0:PRINT FNxy$(x,y);c$(b(x,y)):NEXT y:NEXT x
100 PRINT FNxy$(0,0);bb$;FNxy$(0,12);bb$;FNxy$(0,14);bb$
110 FOR z=0 TO 13:b(0,z)=99:b(13,z)=99:b(z,0)=99:b(z,12)=99
120 PRINT FNxy$(0,z);b$;FNxy$(13,z);b$:NEXT z:RETURN
130 x=INT(RND*12)+1:y=INT(RND*11)+1:IF b(x,y)<>0 THEN 130 ELSE RETURN
140 FOR i=0 TO add-1:IF z<>i AND s(i,1)=ia AND s(i,2)=ib THEN 160
150 NEXT i:RETURN
160 FOR s=i TO add-1:s(s,1)=s(s+1,1):s(s,2)=s(s+1,2):NEXT s:add=add-1:RETURN
170 PRINT FNxy$(5,13);:PRINT rv$;USING "########";sc;:PRINT nv$:RETURN
180 GOSUB 130:IF ABS(x-p)<2 AND ABS(y-q)<2 THEN 180
190 f=x:g=y:b(f,g)=8:PRINT FNxy$(f,g);c$(8):RETURN
200 m$="  *  *  Collect prizes "+c$(2)+c$(3)+c$(4)+" AND "+c$(5)+"  "
210 m$=m$+ "Wipe out killers "+c$(10)+c$(9)+c$(6)+c$(7)+" * Avoid the skull "+c$(8)+" * "
220 m$=m$+"Push slaves "+c$(11)+c$(12)+" * ¯ENTER® to pass  * * *  ¯SPACE® to start "
230 r=r+7:k$=INKEY$:PRINT FNxy$(0,13);LEFT$(m$,28):FOR t=1 TO 70:NEXT
240 m$=RIGHT$(m$,LEN(m$)-1)+LEFT$(m$,1)
250 IF k$<>" " THEN 230 ELSE RANDOMIZE r:FOR z=0 TO 13:PRINT FNxy$(z,13);b$:NEXT z
260 sc=0:add=0:GOSUB 90:GOSUB 130:b(x,y)=1:p=x:q=y:PRINT FNxy$(x,y);c$(1):GOSUB 180
270 IF b(f,g)<>8 THEN sc=sc-5000*(b(f,g)>10):GOSUB 180:GOSUB 170
280 n=INT(RND*26)+1:GOSUB 130:b(x,y)=ASC(MID$(n$,n,1))
290 PRINT FNxy$(x,y);c$(b(x,y)):IF RND>0.8 THEN 280
300 IF b(x,y)>5 AND b(x,y)<11 THEN s(add,1)=x:s(add,2)=y:add=add+1
310 k1$=INKEY$:IF k1$="" THEN 310 ELSE IF k1$=CHR$(13) THEN 400 ELSE k$=k1$:GOTO 330
320 k$=INKEY$:IF k$=CHR$(13) THEN 400 ELSE IF k$<>k1$ THEN 320
330 p1=p:q1=q:p=p+(k$=CHR$(1))-(k$=CHR$(6)):q=q+(k$=CHR$(31))-(k$=CHR$(30))
340 IF p=0 THEN p=12 ELSE IF p=13 THEN p=1 ELSE IF q=0 THEN q=11 ELSE IF q=12 THEN q=1
350 PRINT FNxy$(p1,q1);c$(0);FNxy$(p,q);c$(1):cc=b(p,q)
360 IF cc>1 AND cc<6 THEN sc=sc+1000*(cc-1)-3500*(cc=5):GOSUB 170
370 IF cc>5 AND cc<11 THEN ia=p:ib=q:z=-99:GOSUB 140:sc=sc-250*(cc=9 OR cc=10)-400*(cc=6 OR cc=7):GOSUB 170
380 IF cc>10 THEN GOSUB 720:b(b1,q1)=0:b(p,q)=1:PRINT FNxy$(p,q);c$(1):IF cc>1 THEN 270 ELSE 400
390 b(p1,q1)=0:b(p,q)=1:PRINT FNxy$(p,q);c$(1):IF cc=0 THEN GOTO 320
400 IF RND>0.5 THEN GOSUB 450:GOSUB 460:GOTO 420
410 GOSUB 460:GOSUB 450
420 IF f1<>f OR g1<>g THEN 430 ELSE 500
430 IF f1<>f AND g1<>g THEN IF RND>0.5 THEN g1=g ELSE f1=f
440 GOTO 470
450 IF b(f,q)=0 THEN f1=f:g1=q:RETURN
460 IF b(p,g)=0 THEN f1=p:g1=g:RETURN
470 df=SGN(f1-f):dg=SGN(g1-g):b(f,g)=0:IF (df<>0 AND dg<>0) THEN IF RND>0.5 THEN df=0 ELSE dg=0
480 WHILE (f<>f1 OR g<>g1) AND b(f+df,g+dg)=0
490 PRINT FNxy$(f,g);c$(b(f,g)):f=f+df:g=g+dg:PRINT FNxy$(f,g);c$(8):WEND
500 b(f,g)=8:IF ABS(f-p)<2 AND ABS(g-q)<2 THEN 790
510 FOR z=0 TO add-1
520 a=s(z,1):b=s(z,2):c=b(a,b)
530 IF c=9 OR c=10 THEN GOSUB 570
540 IF c=6 OR c=7 THEN GOSUB 690
550 s(z,1)=a:s(z,2)=b:IF b(p,q)<>1 THEN 790
560 FOR t=1 TO 300:NEXT t:NEXT z:GOTO 270
570 IF RND>0.5 THEN da=1 ELSE da=-1
580 IF c=10 THEN db=da ELSE db=-da
590 cc=-99:FOR k=1 TO m(c):FOR t=1 TO time:NEXT t:PRINT FNxy$(p,q);c$(1)
600 b(a,b)=0:a1=a:b1=b
610 IF c<11 THEN 640
620 IF a+da<1 THEN a=13 ELSE IF a+da>12 THEN a=0 ELSE IF b+db<1 THEN b=12 ELSE IF b+db>11 THEN b=0
630 GOTO 600
640 IF b+db<1 OR b+db>11 THEN db=-db
650 IF a+da<1 OR a+da>12 THEN da=-da
660 a=a+da:b=b+db:IF b(a,b)<>0 THEN GOSUB 740
670 s(z,1)=a:s(z,2)=b:b(a,b)=c:PRINT FNxy$(a,b);c$(b(a,b));FNxy$(a1,b1);c$(0)
680 NEXT k:RETURN
690 IF RND>0.5 THEN x=-1 ELSE x=1
700 da=0:db=0:IF RND>0.5 THEN da=x ELSE db=x
710 GOTO 590
720 da=0:db=0:IF k$=CHR$(1) THEN da=-1 ELSE IF k$=CHR$(6) THEN da=1 ELSE IF k$=CHR$(30) THEN db=1 ELSE bd=-1
730 a=p:b=q:c=cc:z=99:PRINT FNxy$(p,q);c$(1):b(p,q)=1:b(p1,q1)=0:GOTO 590
740 cc=b(a,b):IF c<6 THEN RETURN
750 IF cc=1 THEN k=99:RETURN
760 IF c>10 THEN sc=sc-500*(cc=9 OR cc=10)-800*(cc=6 OR cc=7)-(1000*(cc-1)-3500*(cc=5))*(cc>1 AND cc<6):GOSUB 170
770 k=99:IF cc>5 AND cc<11 THEN ia=a:ib=b:GOSUB 140:RETURN
780 IF b(a,b)<>8 THEN b(a,b)=c:RETURN
790 PRINT FNxy$(0,14);rv$;"     G A M E    O V E R     ";nv$;
800 PRINT FNxy$(5,12);rv$;USING "########";sc;:PRINT nv$:GOTO 200

Controles

      ↑ = DESPLAZAMIENTO
ESPACIO = COMENZAR JUEGO
 RETURN = MOVER SIMBOLOS 

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 Ethernet
4.- Teclear run "Setup" y pulsar la tecla "ENTER"

Extras

  • Listado del programa en revistas de gran tirada de la época

ethernet_programa_01.jpg ethernet_programa_02.jpg

Descarga

  • Ethernet (juego en formato dsk, comprimido con zip)
es/ethernet.txt · Última modificación: 2022/06/30 11:01 por jevicac