Traducciones de esta página:

Herramientas de usuario

Herramientas del sitio


es:la_rebelión_de_los_dioses

LA REBELIÓN DE LOS DIOSES

Ficha

La_Rebelion_de_los_Dioses_p1.jpg

Autor César Cercadillo López de Medrano
Computadora Amstrad PCW 8256 / 8512 / 9512
Año 1990
Género Aventura
Controles Teclado
Lenguajes Español
Estado Preservado

Capturas

La_Rebelion_de_los_dioses_screenshot_01.png La_Rebelion_de_los_dioses_screenshot_02.png La_Rebelion_de_los_dioses_screenshot_03.png La_Rebelion_de_los_dioses_screenshot_04.png

Descripción

  • Contenido del programa

La Rebelión de los Dioses, se compone de dos programas que deberán ser salvados como vienen en el listado. Dioses.bas se encarga de definir nuevos gráficos de los códigos ASCII y dibujar la pantalla de presentación (mientras se carga el programa). La rutina GRAPHIC´S CREATOR fue sacada del autor del juego “GANIMEDES” de Jorge Pérez Barreiro.

Dioses.eng contiene todo el juego principal, cuya explicación es la siguiente:

Líneas 5-55: Se definen las variables básicas, así como las funciones de usuario. FNdib$ dibuja una cadena en la pantalla, en función de la situación de ésta (mov). La variable “mov” se podría definir como la línea más baja de la frase que se dibuja en la consola. Irá variando según el scroll.

Líneas 60-205: Presentación del juego. En la línea 200 se inicializan otras variables importantes. “q1” es la columna del muñeco, “q2” es la fila referida a la fase (de 0 a 59).

Líneas 210-460: Los datos de las línea a partir de la 10.000 se traducen de su base 3 a caracteres, de la forma que 0 es espacio vacío, 1 es una piedra y 2 es un pincho. Dos datos forman una línea, que será almacenada en la variable dimensionada “p$”. Así pues, cada frase consta de 60 líneas.

Líneas 470-600: Movimiento del muñeco y cosas que se pueden encontrar.

Líneas 605-990: Fantasmas. “a1” es la columna. “a2” es la fila referida a la fase. “l” es el número de fantasmas que han salido. “muer” es el número de fantasmas que han desaparecido.

Líneas 1100-2079: Pantalla nueva. Se asigna un nuevo gráfico a las piedras. (caracteres 201 y 202).

  • Juego

El juego consiste en ir escalando o saltando de piedra en piedra hasta llegar a lo más alto de cada una de las cinco pantallas. Hay que tener cuidado en no meterse en un sitio de donde no se puede salir. Con las teclas del cursor derecha e izquierda, el hombre se desplazará hacia los lados. Con la de arriba saltará. EN caso de que inmediatamente encima de él haya una piedra y se pulse esta tecla, saltará encima de la piedra. Con la tecla “espacio” se disparan tanto el rifle con el lanzallamas, para matar a los fantasmas. Pero antes hay que cogerlos. Cuando se coge, te da cinco disparos. El juego incluye scroll hacia arriba y hacia abajo. Después de la quinta pantalla, presenta una sorpresa.

  • Truco

Si se quiere ver rápidamente el diseño de otras pantallas, se puede cambiar el valor de la variable “pan” en la línea 200 del segundo programa. Por ejemplo, si se pone “pan=2”, el juego comenzará en la segunda fase.

Listado

  • Listado 1 - DIOSES.BAS
10 PRINT CHR$(27)+"y"
20 PRINT CHR$(27)+"E"
30 GOSUB 450
40 RESTORE 250:CA=200:GOSUB 570
50 RESTORE 260:CA=201:GOSUB 570
60 RESTORE 270:CA=202:GOSUB 570
70 RESTORE 280:CA=203:GOSUB 570
80 RESTORE 290:CA=204:GOSUB 570
90 RESTORE 300:CA=205:GOSUB 570
100 RESTORE 310:CA=206:GOSUB 570
110 RESTORE 320:CA=207:GOSUB 570
120 RESTORE 330:CA=208:GOSUB 570
130 RESTORE 340:CA=209:GOSUB 570
140 RESTORE 350:CA=210:GOSUB 570
150 RESTORE 360:CA=211:GOSUB 570
160 RESTORE 370:CA=212:GOSUB 570
170 RESTORE 380:CA=213:GOSUB 570
180 RESTORE 390:CA=214:GOSUB 570
190 RESTORE 400:CA=215:GOSUB 570
200 RESTORE 410:CA=216:GOSUB 570
210 RESTORE 420:CA=217:GOSUB 570
220 RESTORE 430:CA=218:GOSUB 570
230 RESTORE 440:CA=219:GOSUB 570
240 GOTO 580
250 DATA 31,43,125,93,109,125,126,0
260 DATA 127,27,95,87,85,85,85,0
270 DATA 255,255,255,255,255,127,95,0
280 DATA 72,1,64,8,0,34,0,16
290 DATA 0,32,9,0,32,128,4,0
300 DATA 21,3,5,3,31,2,2,4
310 DATA 0,128,96,128,240,128,64,64
320 DATA 0,1,6,1,15,1,2,2
330 DATA 168,192,160,192,248,64,64,32
340 DATA 0,0,0,255,253,120,0,0
350 DATA 0,0,8,252,0,0,0,0
360 DATA 0,43,64,79,77,45,29,15
370 DATA 4,252,4,255,252,252,252,255
380 DATA 32,18,51,115,127,125,237,213
390 DATA 21,33,119,13,63,127,127,127
400 DATA 168,132,238,176,252,254,254,254
410 DATA 54,25,13,199,63,205,25,99
420 DATA 99,140,176,199,248,230,179,24
430 DATA 0,8,20,34,85,34,20,8
440 DATA 8,28,54,99,255,99,54,28
450 REM GRAPHIC'S CREATOR
460 MEMORY 62227!
470 LLA=62227!
480 RESTORE 540
490 FOR S=62228! TO 62280!
500 READ A$:A=VAL("&H"+A$)
510 POKE S,A
520 NEXT S
530 RETURN
540 DATA 2A,01,00,11,57,00,19,22,3E
550 DATA 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
560 DATA EB,01,08,00,ED,B0,C9,C3,38,00,0B,00,B0,04,87,20,4C,44,49
570 POKE 62272!,CA:FOR T=62273! TO 62280!:READ BY:POKE T,BY:NEXT T:CALL LLA:RETURN
580 '
590 PRINT CHR$(27)+"0";CHR$(27)+"f"
600 RESTORE 640
610 READ x,y:IF y=1000 THEN RUN "dioses.eng"
620 PRINT CHR$(27)+"Y"+CHR$(32+y)+CHR$(32+x);CHR$(200)
630 GOTO 610
640 DATA 43,15,45,12,33,12,49,16,33,15,39,12,43,17,50,15,43,12,34,11,51,12,43,15,38,12,43,11,49,15,37,11,46,12,33,17,37,12,49,12,52,15,40,12,33,10,50,12,32,15,43,19,39,10,44,12,51,15,31,15,55,12,50,11,43,18,32,17,52,17,31,10
650 DATA 56,15,58,11,50,9,49,18,37,9,55,17,51,10,30,12,49,17,32,12,55,11,52,16,56,12,43,10,45,19,39,8,50,19,40,10,50,10,52,12,30,11,30,15,51,11,31,12,55,15,30,16,37,10,57,12,38,10,55,16,30,18,51,19,31,17,43,22,33,19,34,9
660 DATA 50,8,38,8,58,15,61,12,58,17,49,19,51,22,55,8,30,10,55,9,26,10,32,8,25,15,55,19,43,9,46,19,43,8,44,19,39,22,57,19,45,22,32,10,55,10,40,5,26,18,58,9,37,23,27,8,61,10,26,16,27,12,64,11,25,10,56,17,51,9,24,9,58,12,52,19,24,11,31,19
670 DATA 40,23,38,5,21,12,24,18,49,23,52,8,52,18,37,22,47,5,30,9,25,8,49,8,58,18,49,22,37,8,44,4,27,17,21,9,57,8,20,8,25,19,51,8,57,17,34,22,30,17,58,10,41,5,50,22,20,11,24,15,31,22,44,5,57,15,33,8,55,22,24,16,25,12,43,23
680 DATA 61,11,43,24,56,19,33,23,56,8,32,24,19,10,40,8,49,24,30,19,25,22,24,10,46,3,61,9,43,16,40,22,30,8,27,23,24,12,58,8,57,22,32,19,55,23,38,5,26,8,37,24,31,8,45,24,20,10,33,22,61,8,18,11,46,22,45,3,40,25,64,9,46,25,24,17,38,4,26,12,51,24,24,8,49,25
690 DATA 18,9,25,24,38,2,43,26,27,10,33,25,24,19,38,26,58,19,63,10,50,26,44,22,18,12,47,3,55,24,64,8,32,22,21,8,38,22,45,26,64,12,44,24,39,5,21,10,32,26,64,10,56,26,19,8,57,24,18,10,37,25,62,9,46,24,28,24,44,2,40,26,47,4,46,26,52,22
700 DATA 47,1,26,26,45,1,52,24,38,3,56,22,44,26,44,2,39,26,32,23,47,2,51,26,32,25,38,1,34,26,50,24,44,1,58,22,26,22,46,1,18,8,58,25,44,3,40,24,33,24,56,24,37,26,57,26,33,26,27,25,49,26,25,25,58,24,25,23,52,26,31,26,55,26,25,26,58,26,1000,1000
  • Listado 2 - DIOSES.ENG
10 GOSUB 1650
20 cl$=CHR$(27)+"E"+CHR$(27)+"H"
30 DEF FNpan$(x,y,sig$)=CHR$(27)+"Y"+CHR$(32+y)+CHR$(32+x)+sig$
40 DEF FNdib$(x,y,sig$)=FNpan$(x*2,19-y+mov,sig$)
50 DEF FNdetr$(x,y)=MID$(p$(y),x*2+1,2)
60 mu$(1)=CHR$(205)+CHR$(206):mu$(2)=CHR$(207)+CHR$(208)
70 mcl$=FNpan$(0,1,CHR$(27)+"J")
80 vent$=CHR$(27)+"X"+CHR$(37)+CHR$(57)+CHR$(52)+CHR$(71)+CHR$(27)+"w"
90 nor$=CHR$(27)+"X"+CHR$(32)+CHR$(32)+CHR$(62)+CHR$(121)+CHR$(27)+"v"
100 DIM p$(60),a1(30),a2(30),aa1(30),aa2(30),mu(30)
110 PRINT nor$;cl$:WIDTH 89
120 PRINT FNpan$(28,0,"------ LA REBELION DE LOS DIOSES ------")
130 PRINT FNpan$(0,5,"La Tierra ha sido sepultada bajo cenizas y escombros. Los dioses son los culpables. Se han enfurecido debiado a que los hombres van perdiendo su culto.")
140 PRINT "La unica manera de librar a los hombres de este tormento es destruyendo el castillo      representante de los dioses en la Tierra. Para ello,hay que subir por el, hasta lo mas alto, y quitar el diamante magico de su posicion."
150 PRINT "Si consigues llegar al final del castillo, atravesando cada una de las cinco zonas, y     capturar el diamante, los hombres habran recuperado su fe y los dioses devolveran la      libertad a tu pueblo."
160 PRINT "Como ayuda tienes el rifle ("+CHR$(209)+CHR$(210)+") y el lanzallamas ("+CHR$(211)+CHR$(212)+"). Si quieres arriesgarte al maximo puedes cojer las bonificaciones ($)."
170 PRINT "Ten cuidado con los pinchos ("CHR$(216)+CHR$(217)") y con los fantasmas ("CHR$(214)+CHR$(215)"). SUERTE."
180 DATA 30," Pulsa ",37,"ESPACIO ",45," para ",50,"comenzar ",59,"la ",62,"aventura "
190 RESTORE 180
200 in$="":WHILE in$<>" ":in$=INKEY$
210 READ b,b$:IF b$="aventura " THEN RESTORE 180
220 PRINT FNpan$(30,20," Pulsa ESPACIO para comenzar la aventura ")
230 PRINT FNpan$(b,20,CHR$(27)+"p"+b$+CHR$(27)+"q")
240 WEND
250 PRINT mcl$
260 p=5:mov=0:q1=12:q2=11:vidas=3:puntos=0:muer=1:l=0:pan=1:di=2 
270 ca=201:GOTO 970
280 REM preparacion de la pantalla
290 IF pan=1 THEN RESTORE 1460:men$="ZONA DE HADES":prob=80
300 IF pan=2 THEN RESTORE 1500:men$="ZONA DE AFRODITA":prob=70 
310 IF pan=3 THEN RESTORE 1540:men$="ZONA DE POSEIDON":prob=60
320 IF pan=4 THEN RESTORE 1580:men$="ZONA DE ARES":prob=50
330 IF pan=5 THEN RESTORE 1620:men$="ZONA DE ZEUS":prob=40
340 PRINT FNpan$(40,2,men$)
350 PRINT vent$
360 PRINT FNpan$(0,5,"Espere un momento, por favor.")
370 FOR t=0 TO 59
380 p$(t)="":con=0
390 READ a1,a2
400 con=con+1:r=a2-3*INT(a2/3):IF r=2 THEN p$(t)=CHR$(216)+CHR$(217)+p$(t)
410 IF r=1 THEN p$(t)=CHR$(201)+CHR$(202)+p$(t)
420 IF r=0 THEN p$(t)=CHR$(203)+CHR$(204)+p$(t)
430 a2=INT(a2/3):IF a2<1 THEN FOR k=1 TO 10-con:p$(t)=CHR$(203)+CHR$(204)+p$(t):NEXT k:con=0:GOTO 440 ELSE 400
440 con=con+1:r=a1-3*INT(a1/3):IF r=2 THEN p$(t)=CHR$(216)+CHR$(217)+p$(t)
450 IF r=1 THEN p$(t)=CHR$(201)+CHR$(202)+p$(t)
460 IF r=0 THEN p$(t)=CHR$(203)+CHR$(204)+p$(t)
470 a1=INT(a1/3):IF a1<1 THEN FOR k=1 TO 10-con:p$(t)=CHR$(203)+CHR$(204)+p$(t):NEXT k:con=0:GOTO 480 ELSE 440
480 PRINT FNpan$(0,7,"");60-t
490 NEXT t
500 IF pan=1 THEN MID$(p$(8),17,1)="$":MID$(p$(49),7,2)=CHR$(209)+CHR$(210)
510 IF pan=2 THEN MID$(p$(1),27,1)="$":MID$(p$(11),19,2)=CHR$(209)+CHR$(210):MID$(p$(56),39,2)=CHR$(209)+CHR$(210):MID$(p$(40),39,1)="$"
520 IF pan=3 THEN MID$(p$(5),1,1)="$":MID$(p$(21),5,2)=CHR$(211)+CHR$(212):MID$(p$(50),37,2)=CHR$(209)+CHR$(210)
530 IF pan=4 THEN MID$(p$(5),7,1)="$":MID$(p$(23),39,2)=CHR$(211)+CHR$(212):MID$(p$(41),29,2)=CHR$(211)+CHR$(212):MID$(p$(45),21,1)="$":MID$(p$(57),37,4)=CHR$(211)+CHR$(212)+CHR$(209)+CHR$(210)
540 IF pan=5 THEN MID$(p$(8),25,1)="$":MID$(p$(18),39,2)=CHR$(211)+CHR$(212):MID$(p$(21),39,1)="$":MID$(p$(26),31,2)=CHR$(211)+CHR$(212):MID$(p$(31),19,2)=CHR$(209)+CHR$(210):MID$(p$(41),7,2)=CHR$(211)+CHR$(212)
550 PRINT cl$:FOR t=0 TO 19:PRINT FNpan$(0,t,p$(19-t));:NEXT t
560 PRINT FNdib$(q1,q2,mu$(di))
570 GOSUB 920
580 '
590 in$=INKEY$
600 IF in$=CHR$(6) AND q1<19 AND FNdetr$(q1+1,q2)<>CHR$(201)+CHR$(202) THEN PRINT FNdib$(q1,q2,FNdetr$(q1,q2)):q1=q1+1:di=1
610 IF in$=CHR$(1) AND q1>0 THEN IF FNdetr$(q1-1,q2)<>CHR$(201)+CHR$(202) THEN PRINT FNdib$(q1,q2,FNdetr$(q1,q2)):q1=q1-1:di=2 
620 IF FNdetr$(q1,q2)=CHR$(216)+CHR$(217) THEN 1280
630 IF susp>1 THEN susp=susp-1 ELSE IF FNdetr$(q1,q2-1)<>CHR$(201)+CHR$(202) THEN PRINT FNdib$(q1,q2,FNdetr$(q1,q2)):q2=q2-1:IF q2>10 AND q2<51 THEN mov=mov-1:PRINT FNpan$(0,21,""):PRINT FNpan$(0,19,p$(mov));
640 IF in$=CHR$(31) AND q2=58 THEN 940
650 IF in$=CHR$(31) AND FNdetr$(q1,q2-1)=CHR$(201)+CHR$(202) THEN IF FNdetr$(q1,q2+1)=CHR$(201)+CHR$(202) AND FNdetr$(q1,q2+2)=CHR$(201)+CHR$(202) THEN 660 ELSE IF FNdetr$(q1,q2+2)=CHR$(201)+CHR$(202) THEN GOSUB 900 ELSE GOSUB 900:GOSUB 900
660 PRINT FNdib$(q1,q2,mu$(di))
670 IF FNdetr$(q1,q2)=CHR$(215)+CHR$(217) THEN 1280
680 IF FNdetr$(q1,q2)="$"+CHR$(204) THEN GOSUB 920:puntos=puntos+500:MID$(p$(q2),q1*2+1,1)=CHR$(203):p=5
690 IF FNdetr$(q1,q2)=CHR$(209)+CHR$(210) THEN GOSUB 920:MID$(p$(q2),q1*2+1,2)=CHR$(203)+CHR$(204):lanz=0:rifl=5:puntos=puntos+50:p=5
700 IF FNdetr$(q1,q2)=CHR$(211)+CHR$(212) THEN GOSUB 920:MID$(p$(q2),q1*2+1,2)=CHR$(203)+CHR$(204):lanz=5:rifl=0:puntos=puntos+50:p=5
710 IF in$=" " AND rifl>0 THEN disp=5:rifl=rifl-1:p=5:GOSUB 1330
720 IF in$=" " AND lanz>0 THEN disp=5:lanz=lanz-1:p=5:GOSUB 1370
730 '
740 a=INT(RND*prob):IF a=0 THEN l=l+1:a2(l)=INT(RND*20)+mov+1:mu(l)=0:aa2(l)=0:a1(l)=INT(RND*2)*19:IF a1(l)=0 THEN aa1(l)=1 ELSE aa1(l)=-1
750 IF mu(muer)=5 THEN muer=muer+1
760 FOR t=muer TO 1
770 IF mu(t)=5 THEN 850
780 IF disp=5 AND a2(t)=q2 AND a1(t)<=v2 AND a1(t)>1=v1 THEN PRINT FNdib$(a1(t),a2(t),"'3"):GOSUB 920:puntos=puntos+100:p=5:mu(t)=5:GOTO 850
790 PRINT FNdib$(a1(t),a2(t),FNdetr$(a1(t),a2(t)))
800 IF q1=a1(t) THEN aa1(t)=0:IF q2>a2(t) THEN aa2(t)=1 ELSE aa2(t)=-1
810 IF q2=a2(t) THEN aa2(t)=0:IF q1>a1(t) THEN aa1(t)=1 ELSE aa1(t)=-1
820 a1(t)=a1(t1)+aa1(t):a2(t)=a2(t)+aa2(t):IF a1(t)<0 OR a1(t)>19 OR a2(t)<mov+2 OR a2(t)>mov+19 THEN mu(t)=5:GOTO 850
830 PRINT FNdib$(a1(t),a2(t),CHR$(214)+CHR$(215))
840 IF q1=a1(t) AND q2=a2(t) THEN 1280
850 NEXT t
860 IF disp=5 THEN disp=0:PRINT FNdib$(0,q2,p$(q2));FNdib$(q1,q2,mu$(di))
870 IF p=5 THEN p=0:PRINT nor$;FNpan$(5,3,CHR$(209)+CHR$(210)+" =");rifl;FNpan$(17,3,CHR$(211)+CHR$(212)+" =");lanz;FNpan$(62,3,"puntos =");puntos; FNpan$(80,3,"vidas =");vidas;vent$
880 GOTO 590
890 REM scroll
900 PRINT FNdib$(q1,q2,FNdetr$(q1,q2)):q2=q2+1:IF q2>11 AND q2<52 THEN PRINT FNpan$(0,0,CHR$(27)+"I"):mov=mov+1:PRINT FNpan$(0,0,p$(mov+19))
910 susp=2:OUT 248,11:OUT 248,12:RETURN
920 REM sonido
930 FOR k=1 TO 75:OUT 248,11:OUT 248,12:NEXT k:PRINT CHR$(7);:RETURN
940 REM ha llegado al final de pantalla
950 PRINT FNdib$(q1,q2,FNdetr$(q1,q2));nor$:FOR t=1 TO pan*10:puntos=puntos+10:PRINT FNpan$(70,3,"");puntos;CHR$(7);:NEXT t:FOR t=1 TO 2000:NEXT t
960 IF pan=5 THEN 1150 ELSE pan=pan+1:RANDOMIZE pan:ca=201:mov=0:q1=12:q2=11:muer=1:l=0:p=5
970 IF pan=1 THEN RESTORE 1040
980 IF pan=2 THEN RESTORE 1070
990 IF pan=3 THEN RESTORE 1090
1000 IF pan=4 THEN RESTORE 1110
1010 IF pan=5 THEN RESTORE 1130
1020 POKE 62272!,ca:FOR t=62273! TO 62280!:READ by:POKE t,by:NEXT t:CALL lla
1030 POKE 62272!,ca+1:FOR t=62273! TO 62280!:READ by:POKE t,by:NEXT t:CALL lla
1040 DATA 127,127,95,87,85,85,85,0
1050 DATA 255,255,255,255,255,127,95,0
1060 PRINT mcl$:GOTO 280
1070 DATA 127,110,107,106,107,110,106,127
1080 DATA 255,171,187,235,171,171,171,255
1090 DATA 64,228,78,31,14,36,119,32
1100 DATA 32,114,39,2,8,156,200,128
1110 DATA 255,255,127,63,15,71,1,32
1120 DATA 255,255,254,254,228,132,128,32
1130 DATA 170,170,170,169,170,82,42,4
1140 DATA 170,170,170,85,169,74,4,4
1150 REM final del recorrido
1160 PRINT nor$;cl$:FOR t=1 TO 10:FOR tt=1 TO 1000:NEXT tt:OUT 248,11:OUT 248,12:NEXT t
1170 PRINT FNpan$(35,2,"HAS LLEGADO A LA CAMARA DEL ESPIRITU PREGUNTON");CHR$(7):FOR t=1 TO 2000:NEXT t
1180 PRINT FNpan$(40,5,"ESTAS A UN PASO DEL DIAMANTE");CHR$(7):FOR t=1 TO 2000:NEXT t
1190 PRINT FNpan$(35,8,"PERO PARA SEGUIR TU CAMINO...");CHR$(7):FOR t=1 TO 2000:NEXT t
1200 PRINT FNpan$(33,10,"...NECESITARAS ACERTAR UNA PREGUNTA");CHR$(7):FOR t=1 TO 2000:NEXT t
1210 PRINT cl$:OUT 248,11:PRINT FNpan$(0,0,"ESTA E SLA PREGUNTA. "):INPUT "Cuantos puntos haz conseguido?";a
1220 IF a<>puntos THEN PRINT "LO SIENTO, TENDRAS QUE AGUANTAR MI ETERNA TORTURA":OPTION RUN:GOTO 1220
1230 OUT 248,12:PRINT cl$:a$="":FOR t=1 TO 85:a$=a$+CHR$(154):NEXT t:PRINT FNpan$(0,25,a$)
1240 PRINT FNpan$(44,25,CHR$(138)+CHR$(139)+CHR$(138));FNpan$(45,24,CHR$(133));FNpan$(45,23,CHR$(133));FNpan$(44,22,CHR$(154)+CHR$(158)+CHR$(154))
1250 FOR t=1 TO 20:PRINT FNpan$(45,21,CHR$(218)):FOR tt=1 TO 500:NEXT tt:PRINT FNpan$(45,21,CHR$(219)):FOR tt=1 TO 500:NEXT tt,t
1260 PRINT FNpan$(35,3,"Has conseguido cojer el diamante");FNpan$(40,10,"!!!!! Y TU CON EL !!!!!")
1270 FOR t=1 TO 200:PRINT CHR$(27)+"H"+CHR$(27)+"I";FNpan$(0,30,""):NEXT t:RUN
1280 REM muerto
1290 in$=INKEYS$
1300 PRINT FNdib$(q1,q2,"'3"):FOR k=1 TO 10:PRINT CHR$(7);:NEXT k:PRINT FNdib$(0,q2,p$(q2))
1310 vidas=vidas-1:p=5:IF vidas<1 THEN 1400
1320 FOR mov=mov-1 TO 0 STEP -1:PRINT FNpan$(0,20,""):PRINT FNpan$(0,19,p$(mov)):NEXT mov:q1=12:q2=11:mov=0:muer=l+1:GOTO 590
1330 REM disparo de rifle
1340 IF di=2 THEN v1=q1-1:v2=v1:GOTO 1360 ELSE v1=q1+1:v2=v1
1350 IF FNdetr$(v2,q2)=CHR$(203)+CHR$(204) AND v1<19 THEN OUT 248,11:PRINT FNdib$(v2,q2,"))"):OUT 248,12:v2=v2+1:GOTO 1350 ELSE RETURN
1360 IF FNdetr$(v1,q2)=CHR$(203)+CHR$(204) AND v1>0 THEN OUT 248,11:PRINT FNdib$(v1,q2,"(("):OUT 248,12:v1=v1-1:GOTO 1360 ELSE RETURN
1370 REM dispero de lanzallamas
1380 OUT 248,11:IF di=1 THEN v1=q1+1:FOR v2=v1 TO 19:PRINT FNdib$(v2,q2,CHR$(213)+CHR$(213)):NEXT v2:OUT 248,12:RETURN
1390 v2=q1-1:FOR v1=v2 TO 0 STEP -1:PRINT FNdib$(v1,q2,CHR$(213)+CHR$(213)):NEXT v1:OUT 248,12! RETURN
1400 REM sin vidas
1410 PRINT nor$;mcl$;FNpan$(30,3,"FIN DEL JUEGO");FNpan$(25,6,"Has obtenido");puntos;"puntos";FNpan$(25,10,"Pulsa /c. para continuar o /a, en caso contrario")
1420 WHILE in$<>"A" AND in$<>"C":in$=UPPER$(INKEY$):WEND
1430 IF in$="A" THEN PRINT cl$:RUN ELSE vidas=3:puntos=0:muer=1:l=0:mov=0:q1=12:q2=12:mov=1
1440 PRINT mcl$;FNpan$(40,2,men$);vent$:FOR t=0 TO 19:PRINT FNdib$(0,t,p$(t)):NEXT t:GOTO 590
1450 REM pantalla 1:zona de Hades
1460 DATA 29524,29524,121,29362,0,1,3170,26244,0,0,2920,29682,39,29196,26589,29180,27,81,29433,29241,40,29241,0,0,13,19683,0,0,29524,29524,0,0,29524,29524,729,0,29524,29484,734,0
1470 DATA 29524,29524,730,729,29161,29524,364,729,29524,29524,27,19683,29349,29524,27,20169,29430,29524,27,20169,29529,29524,216,52488,28431,9477,3,0,29408,360,0,26244,29511,9,0,9072,972,0,9748,9720
1480 DATA 0,0,29524,29524,0,0,2952,26572,26572,2952,0,0,8748,40,0,0,5103,4414,0,54,2,13,0,108,486,243,0,2187,0,19683,21,0,810,0,28431,0,0,0,29524,29524
1490 REM pantalla 2:zona de Afrodita
1500 DATA 29524,29524,39366,9315,0,6615,0,6570,0,486,0,4460,3,0,0,1461,27,0,0,171,2269,28431,0,9,28449,8748,0,9,26244,3159,0,9,2187,355,0,0,6561,12,6,39366
1510 DATA 2187,117,0,0,6570,13,0,0,23328,117,249,4374,6561,121,297,0,0,130,972,40824,162,157,2922,0,486,13230,28917,499,0,0,29178,108,486,0,29160,0,4374,81,29160,496
1520 DATA 486,13122,29160,111,488,486,19702,4414,9495,0,0,597,747,0,28431,13126,486,1566,29160,243,2,1494,2922,0,26730,607,2916,0,26244,198,2925,1,1,6600,0,1215,0,0,29524,29524
1530 REM pantalla 3:zona de Poseidon
1540 DATA 29524,29524,29520,21141,28431,45,26244,0,19689,189,0,0,44712,45,13122,0,11259,189,0,0,19697,16812,0,6,32841,27405,8754,0,0,81,3240,0,0,40,22599,0,7047,40,13210,42174
1550 DATA 2187,0,3645,45,0,0,13122,1053,1,26244,606,0,19683,279,120,0,19683,2188,13483,351,20223,10,123,6,19702,29404,324,249,19683,487,974,492,19683,487.324,0,21303,4375,0,12
1560 DATA 29520,0,0,108,0,972,2295,6561,0,20007,6561,0,0,117,747,0,0,13,2916,4,0,0,29524,29524,458,59022,1,58319,0,59021,0,12334,0,0,0,1,0,0,29524,29524
1570 REM pantalla 4:zona de Ares
1580 DATA 29524,29524,24225,13122,0,0,20187,19194,0,0,10935,39366,0,4401,19683,1,4347,1539,19683,1,729,2187,27,1,1,0,2187,84,81,729,6562,2187,0,3,732,5559,0,3,6859,19764
1590 DATA 9,55,245,7317,19683,1,1917,0,2187,16281,3,0,243,1539,3,0,2188,27,243,0,0,27,0,739,246,6561,6561,0,19683,0,0,0,13037,39112,0,0,0,1,0,0
1600 DATA 38626,58291,0,0,19683,0,6,0,37090,52401,0,1,0,0,0,1,36932,52239,0,0,19683,0,1460,4374,21960,6816,0,0,0,9,27,0,732,20505,26244,0,0,0,29524,29524
1610 REM pantalla 5:zona de Zeus
1620 DATA 29524,29524,39266!,2430,0,2430,0,2457,2187,2673,19686,3,4347,1620,19710,17497,13284,162,19932,40833!,14580,2187,20412,27,13122,0,19710,20412,0,27,19683,0,2,4419,6567,39385!,0,261,6563,2205
1630 DATA 0,28,897,243,19851,33,895,29406,19866,243,180,35319,19864,19926,909,23823,19848,20250,891,35479,172,20169,20574,23815,19855,486,894,2794,170,7056,20583,21505,702,1539,20574,1822,162,53973,2139,6169
1640 DATA 18387,1467,20574,14944,162,1458,2349,698,0,486,33287,50911,6561,486,23814,121,0,0,27671,56739,0,0,19683,0,0,0,2187,52123,468,121,0,40,0,13,0,4,0,1,29524,29524
1650 REM GRAPHIC'S CREATOR
1660 MEMORY 62227!
1670 lla=62228!
1680 RESTORE 1740
1690 FOR s=62228! TO 62280!
1700 READ a$:a=VAL("&H"+a$)
1710 POKE s,a
1720 NEXT s
1730 RETURN
1740 DATA 2A,01,00,11,57,00,19,22,3E
1750 DATA 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
1760 DATA EB,01,08,00,ED,B0,C9,C3,38,00,0B,00,B0,04,87,20,4C,44,49

Controles

      ↑ = Saltar
      ← = Ir a la izquierda
      → = Ir a la derecha
ESPACIO = Disparar rifle o lanzallamas 

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 La Rebelión de los Dioses
4.- Teclear run "Dioses" y pulsar la tecla "ENTER"

Extras

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

La_Revelion_de_los_Dioses_programa_01.jpg La_Revelion_de_los_Dioses_programa_02.jpg La_Revelion_de_los_Dioses_programa_03.jpg La_Revelion_de_los_Dioses_programa_04..jpg

Descarga

Enlaces

es/la_rebelión_de_los_dioses.txt · Última modificación: 2017/01/16 00:44 por jevicac