====== THE MAGIC MAZE ====== {{:otros:The_Magic_Maze_p1.jpg?690|}} ===== Ficha ===== ^ Autor | DGC Software | ^ Computadora | Amstrad PCW 8256 / 8512 / 9512 | ^ Año | 1993 | ^ Género | Arcade | ^ Controles | Teclado | ^ Lenguajes | Inglés | ^ Estado | [[preservado|Preservado]] | ===== Capturas ===== {{:otros:The_Magic_Maze_screenshot01.png?220}} {{:otros:The_Magic_Maze_screenshot02.png?220}} {{:otros:The_Magic_Maze_screenshot03.png?220}} {{:otros:The_Magic_Maze_screenshot04.png?220}} ===== 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 ===== * {{:otros:The Magic Maze (Basic).zip|The Magic Maze }}(juego en formato dsk, comprimido con zip)