Herramientas de usuario

Herramientas del sitio


es:the_magic_maze

THE MAGIC MAZE

Ficha

Autor DGC Software
Computadora Amstrad PCW 8256 / 8512 / 9512
Año 1993
Género Arcade
Controles Teclado
Lenguajes Inglés
Estado Preservado

Capturas

Descripción

Nos encontramos en el centro de un laberinto, tendremos que movernos alrededor de él por medio de las cuatro teclas de cursor, vertical u horizontalmente. hay que tratar de recoger todas las lleves del laberinto (10 puntos).

Cuando todas las llaves se recojan, el juego acabará el nivel y pasaremos al siguiente, el cual es completamente nuevo.

Hay dos cosas que son muy inusuales dentro del laberinto mágico. En primer lugar, mientras nos movemos, el laberinto irá cambiando a nuestro paso, esto puede ser una ventaja o desventaja.

En segundo lugar, desde cualquier posición dada sólo podremos movernos en una dirección que tiene una llave o un camino que realmente cambia la posición actual ya sea en vertical u horizontalmente.

Como resultado es mucho más difícil ver de antemano, qué salidas son posibles desde una posición determinada antes de que nos desplacemos hasta allí.

De hecho, es muy posible conseguir completamente abandonar un camino que cambie tras de nosotros.

En cualquier momento del juego, podemos presionar EXIT para elegir un nuevo juego o abandonar el mismo definitivamente.

Listado

  • Listado - AMAZE.BAS
10 OPTION RUN
20 GOSUB 450:PRINT e$"0"e$"f":POKE paper,170
30 a$="                                             ":aa=0:bb=0:CALL pr(aa,bb,a$)
40 a$="                                             ":aa=0:bb=2:CALL pr(aa,bb,a$)
50 a$="    THE MAGIC MAZE":aa=24:bb=0:CALL pr(aa,bb,a$):POKE double,0
60 a$="  ¤1993 DGC Software  ":aa=22:bb=2:CALL pr(aa,bb,a$):POKE double,1
70 a$="                                             ":aa=0:bb=28:CALL pr(aa,bb,a$)
80 a$="  ":FOR bb=4 TO 28:FOR aa=0 TO 86 STEP 86:CALL pr(aa,bb,a$):NEXT:NEXT
90 a$="                                             ":aa=0:bb=30:CALL pr(aa,bb,a$)
100 a$="THE MAZE IS NOW BEING PRINTED: PLEASE WAIT  ":aa=2:bb=29:CALL pr(aa,bb,a$)
110 POKE paper,0
120 key=0:FOR a=0 TO 19:FOR b=0 TO 11:z=INT(RND*12)+1:s(a,b)=z:GOSUB 350:GOSUB 420:NEXT:NEXT
130 a=10:b=7:z=13:IF s(a,b)=12 THEN key=key-1
131 s(a,b)=z:GOSUB 350
140 POKE paper,170:a$="    LEVEL:                  SCORE:        ":aa=2:bb=29:CALL pr(aa,bb,a$):POKE paper,0
150 GOSUB 440
160 lev=lev+1:a$=STR$(lev):aa=23:bb=29:CALL pr(aa,bb,a$)
170 z$=INPUT$(1):z=INSTR(CHR$(1)+CHR$(6)+CHR$(30)+CHR$(31)+CHR$(27),z$):IF z=0 GOTO 170
180 ON z GOSUB 190,220,250,280,310:GOTO 170
190 IF a>0 THEN IF NOT(s(a-1,b)=5 OR s(a-1,b)=6 OR s(a-1,b)=10 OR s(a-1,b)=11 OR s(a-1,b)=12) THEN z=INT(RND*11)+1:s(a,b)=z:GOSUB 350:a=a-1:z=13:GOSUB 350:RETURN 
200 IF a>0 THEN IF s(a-1,b)=12 THEN z=INT(RND*11)+1:s(a,b)=z:GOSUB 350:a=a-1:z=13:GOSUB 350:GOSUB 410:RETURN
210 RETURN
220 IF a<19 THEN IF NOT(s(a+1,b)=3 OR s(a+1,b)=6 OR s(a+1,b)=8 OR s(a+1,b)=9 OR s(a+1,b)=12) THEN z=INT(RND*11)+1:s(a,b)=z:GOSUB 350:a=a+1:z=13:GOSUB 350:RETURN
230 IF a<19 THEN IF s(a+1,b)=12 THEN z=INT(RND*11)+1:s(a,b)=z:GOSUB 350:a=a+1:z=13:GOSUB 350:GOSUB 410:RETURN
240 RETURN
250 IF b<11 THEN IF NOT(s(a,b+1)=4 OR s(a,b+1)=7 OR s(a,b+1)=9 OR s(a,b+1)=10 OR s(a,b+1)=12) THEN z=INT(RND*11)+1:s(a,b)=z:GOSUB 350:b=b+1:z=13:GOSUB 350:RETURN
260 IF b<11 THEN IF s(a,b+1)=12 THEN z=INT(RND*11)+1:s(a,b)=z:GOSUB 350:b=b+1:z=13:GOSUB 350:GOSUB 410:RETURN
270 RETURN
280 IF b>0 THEN IF NOT(s(a,b-1)=2 OR s(a,b-1)=7 OR s(a,b-1)=8 OR s(a,b-1)=11 OR s(a,b-1)=12) THEN z=INT(RND*11)+1:s(a,b)=z:GOSUB 350:b=b-1:z=13:GOSUB 350:RETURN
290 IF b>0 THEN IF s(a,b-1)=12 THEN z=INT(RND*11)+1:s(a,b)=z:GOSUB 350:b=b-1:z=13:GOSUB 350:GOSUB 410:RETURN
300 RETURN
310 PRINT FNat$(14,25)"                                          "
320 PRINT FNat$(15,25)"               ANOTHER GO?                "
330 PRINT FNat$(16,25)"                                          "
340 x$=INPUT$(1):IF UPPER$(x$)="Y" THEN lev=0:sc=0:GOTO 430 ELSE PRINT e$ "e":MEMORY highmem!:END
350 IF a=10 AND b=8 THEN a(a,b)=5
351 aa=(a*4)+5:bb=(b*2)+4:a$=g$(z):IF z>11 THEN POKE pen,170
360 IF z=13 THEN POKE paper,255
370 CALL pr(aa,bb,a$)
380 IF z>11 THEN POKE pen,255
390 IF z=13 THEN POKE paper,0
400 RETURN
410 FOR f=1 TO 10:FOR ff=1 TO 80:NEXT:OUT 248,11:OUT 248,12:sc=sc+1:a$=STR$(sc):aa=71:bb=29:CALL pr(aa,bb,a$):NEXT:key=key-1:IF key<1 THEN GOTO 430 ELSE RETURN
420 IF z=12 THEN key=key+1:RETURN ELSE RETURN
430 ERASE s:DIM s(20,12):POKE paper,170:GOTO 100
440 PRINT FNat$(0,0)CHR$(7):a$=STR$(sc):aa=71:bb=29:CALL pr(aa,bb,a$):RETURN
450 DEFINT a-z:highmem!=HIMEM:MEMORY &HCFFF:e$=CHR$(27):cls$=e$+"E"+e$+"H"
460 rev$=e$+"p":rof$=e$+"q"
470 DEF FNat$(x,y)=e$+"Y"+CHR$(32+x)+CHR$(32+y)
480 DIM s(21,15),g$(15):a=2
490 RESTORE 660:address=&HE000
500 READ code:WHILE code<256:POKE address,code:address=address+1:READ code:WEND
510 screen=&HE000:pr=&HE003:UDGs=&HD100:pen=&HD001:paper=&HD000:double=&HD006
520 RESTORE 560:FOR i=0 TO 151:READ j:POKE udgs+i,j:NEXT
530 RANDOMIZE PEEK(64504!):FOR x=0 TO 13:READ l,m:g$(x)=CHR$(l)+CHR$(m):NEXT
540 POKE DOUBLE,a:POKE paper,0:POKE pen,255
550 PRINT cls$:CALL screen:RETURN
560 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
570 DATA 3,3,3,3,3,3,3,3,192,192,192,192,192,192,192,192
580 DATA 0,0,0,255,255,0,0,0,3,3,3,255,255,3,3,3
590 DATA 192,192,192,255,255,192,192,192,3,3,3,255,255,0,0,0
600 DATA 192,192,192,255,255,0,0,0,0,0,0,255,255,3,3,3
610 DATA 0,0,0,255,255,192,192,192,192,192,192,192,192,0,0,0
620 DATA 3,3,3,3,3,0,0,0,0,0,0,192,192,192,192,192,0,0,0,3,3,3,3,3
630 DATA 255,195,153,152,152,153,195,255,255,255,255,1,1,171,41,255
640 DATA 252,249,252,128,144,144,243,227,63,159,63,1,9,9,207,199
650 DATA 0,1,5,6,7,8,2,6,9,10,5,3,2,3,4,4,12,8,14,10,9,13,7,11,15,16,17,18
660 DATA 195,6,224,195,91,224,205,41,224,17,152,44,33,0,182,1,104,1,62
670 DATA 32,245,213,62,8,115,35,114,35,19,61,32,248,209,235,9,235,241,61
680 DATA 32,236,201,193,205,90,252,233,0,201,102,26,111,34,2,208,10,50,16
690 DATA 208,3,10,111,3,10,103,237,75,16,208,6,0,17,19,208,237,176,42
700 DATA 2,208,205,252,224,34,4,208,33,19,208,34,17,208,201,205,48,224,205
710 DATA 41,224,243,42,17,208,126,35,34,17,208,205,234,224,17,79,225,1,8
720 DATA 0,237,176,221,42,4,208,14,8,253,33,79,225,42,0,208,125,6,8
730 DATA 253,203,0,6,56,13,7,221,203,8,22,221,203,0,22,7,195,164,224
740 DATA 203,4,221,203,8,22,221,203,0,22,203,4,221,203,8,22,221,203,0
750 DATA 22,16,215,253,35,58,6,208,167,202,209,224,221,126,8,221,119,9,221
760 DATA 126,0,221,119,1,221,35,121,254,5,194,209,224,1,200,2,221,9,79
770 DATA 221,35,13,194,130,224,42,4,208,1,16,0,9,34,4,208,33,16,208
780 DATA 53,194,98,224,251,201,17,0,184,254,32,48,3,17,0,209,111,38,0
790 DATA 41,41,41,25,201,92,38,0,84,203,37,1,15,225,9,78,35,70,235
800 DATA 41,41,41,9,201,48,89,0,92,208,94,160,97,112,100,64,103,16,106
810 DATA 224,108,176,111,128,114,80,117,32,120,240,122,192,125,144,128,96,131,48
820 DATA 134,0,137,208,139,160,142,112,145,64,148,16,151,224,153,176,156,128,159
830 DATA 80,162,32,165,240,167,192,170,144,173,96,176,0,0,0,0,0,0,256

Controles

      ↑ = ARRIBA
      ↓ = ABAJO
      → = DERECHA
      ← = IZQUIERDA
   EXIT = ABANDONAR PARTIDA

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 The Magic Maze
4.- Teclear run "Amaze" y pulsar la tecla "ENTER"

Descarga

es/the_magic_maze.txt · Última modificación: 2022/06/30 15:07 por jevicac