Herramientas de usuario

Herramientas del sitio


es:dagoba

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
es:dagoba [2015/02/04 18:42] – [Programa] jevicaces:dagoba [2022/06/30 10:45] (actual) jevicac
Línea 1: Línea 1:
-====== Dagoba ======+====== DAGOBA ======
  
-===== Ficha =====+{{:otros:Dagoba_p1.jpg?690|}}
  
 +===== Ficha =====
 ^ Autor | Jorge Pérez Barreiro       | ^ Autor | Jorge Pérez Barreiro       |
 ^ Computadora | Amstrad PCW 8256 / 8512 / 9512 | ^ Computadora | Amstrad PCW 8256 / 8512 / 9512 |
-^ Año | 1988                              |+^ Año | 1987                              |
 ^ Género | Naves                                | ^ Género | Naves                                |
 ^ Controles | Teclado                           | ^ Controles | Teclado                           |
Línea 13: Línea 14:
 ===== Capturas ===== ===== Capturas =====
  
-^^^ +{{:otros:Dagoba_screenshot01.png?220}} {{:otros:Dagoba_screenshot02.png?220}} {{:otros:Dagoba_screenshot03.png?220}} {{:otros:Dagoba_screenshot04.png?220}}
-{{ :juegos:capturas:Dagoba_screenshot01.png?200 }} {{ :juegos:capturas:Dagoba_screenshot03.png?200 }} +
-{{ :juegos:capturas:Dagoba_screenshot02.png?200 }} {{ :juegos:capturas:Dagoba_screenshot04.png?200 }} |+
  
 ===== Descripción ===== ===== Descripción =====
  
 Juego de naves espaciales con láser, laberintos, tesoros y peligros ocultos. Contiene 200 pantallas diferentes. Atrévete a penetrar en el laberinto de Dagoba, recorriendo sus doscientas pantallas y rescata el famoso tesoro escondido hace muchos años tras sus muros. Para los que os gustan los juegos con muchas pantallas. Una trepidante aventura dentro de un laberinto donde abundan los peligros y secretos. El juego consiste en ir por el laberinto cogiendo las pirámides que hay repartidas por todo el juego, habrá que conseguir las 15 para poder entrar en la cámara del cofre. Solamente tu habilidad y audacia te conducirán a la salida y te colmarán con los tesoros de los antiguos faraones. Juego de naves espaciales con láser, laberintos, tesoros y peligros ocultos. Contiene 200 pantallas diferentes. Atrévete a penetrar en el laberinto de Dagoba, recorriendo sus doscientas pantallas y rescata el famoso tesoro escondido hace muchos años tras sus muros. Para los que os gustan los juegos con muchas pantallas. Una trepidante aventura dentro de un laberinto donde abundan los peligros y secretos. El juego consiste en ir por el laberinto cogiendo las pirámides que hay repartidas por todo el juego, habrá que conseguir las 15 para poder entrar en la cámara del cofre. Solamente tu habilidad y audacia te conducirán a la salida y te colmarán con los tesoros de los antiguos faraones.
 +
 +===== Listado =====
 +
 +  * **__Listado - DAGOBA.BAS__**
 +
 +<file>
 +1 REM
 +100 ' ************* D A G O B A **************
 +101 ' **                                    **
 +102 ' ** (C) Sept-1987 Jorge Perez Barreiro **
 +103 ' **         All Rights Reserved        **
 +105 ' **                                    **
 +107 ' ****************************************
 +108 '
 +110 cls$=CHR$(27)+"E"+CHR$(27)+"H"
 +120 DEF FN at$(v,h)=CHR$(27)+"Y"+CHR$(32+v)+CHR$(32+h)
 +130 inverse1$=CHR$(27)+"p"
 +140 inverse0$=CHR$(27)+"q"
 +150 cursor1$=CHR$(27)+"e"
 +160 cursor0$=CHR$(27)+"f"
 +170 scrab$=CHR$(27)+"L"
 +180 scrar$=CHR$(27)+"M"
 +190 DEF FN ventana$(a,b,c,d)=CHR$(27)+"X"+CHR$(32+a)+CHR$(32+b)+CHR$(c-1+32)+CHR$(d-1+32)
 +200 REM PRINT cursor0$
 +280 GOSUB 9000
 +300 DIM a$(10,20)
 +310 RANDOMIZE PEEK(64504!)
 +550 GOTO 800
 +600 DATA "OIIO","OIOI","OIOI","OIOI","OIII","OOII","OIIO","OIII","OIOI","OOII","OIIO","OIII","OOII","OIIO","OIII","OIOI","OOII","OIIO","OOII","OOIO"
 +610 DATA "IIOO","OOII","OIIO","OOII","IOOO","IIOO","IOOI","IOIO","OIOO","IIII","IOOI","IOIO","IOIO","IOOO","IIIO","OOOI","IOOO","IOOO","IIOO","IOII"
 +620 DATA "OIIO","IIOI","IOOI","IIIO","OIOI","OOII","OIOO","IOII","OOIO","IIOO","OOII","IOOO","IOIO","OIIO","IOOI","OOIO","OOIO","OIIO","OOOI","IOIO"
 +630 DATA "IOIO","OIOO","OIOI","IOII","OOIO","IIOO","OOOI","IOIO","IIOO","OIII","IOOI","OIIO","IOOI","IOIO","OIIO","IOOI","IIOO","IIII","OOII","IOIO"
 +640 DATA "IIIO","OIII","OOII","IIOO","IOII","OIOO","OIII","IIOI","OOOI","IOIO","OIOO","IOOI","OIIO","IIII","IIOI","OOOI","OIIO","IOOI","IOOO","IOIO"
 +650 DATA "IOOO","IOIO","IOOO","OIOO","IOOI","OOIO","IIOO","OIII","OOOI","IOIO","OIIO","OIII","IOOI","IIIO","OIOI","OIII","IIII","OIOI","OIII","IOOI"
 +660 DATA "OIIO","IIOI","OIII","OOII","OIIO","IOOI","OIIO","IOII","OIIO","IOOI","IOIO","IOOO","OIOO","IOOI","OOIO","IOIO","IIOO","OOII","IIOO","OOII"
 +670 DATA "IOIO","OOIO","IOIO","IIOO","IOOI","OIIO","IOOI","IOIO","IIIO","OIOI","IIII","OIOI","OOII","OIIO","IOOI","IOIO","OOIO","IIOO","OOII","IOOO"
 +680 DATA "IIIO","IOOI","IOIO","OIOO","OOII","IOIO","OIIO","IOOI","IIIO","OOOI","IIIO","OOII","IOIO","IOIO","OIIO","IOOI","IIIO","OIII","IOOI","OOIO"
 +690 DATA "IIOO","OOOI","IIOO","OIOI","IIOI","IOOI","IIOO","OOOI","IIOO","OIOI","IOOI","IOOO","IOOO","IIOO","IOOI","OIOO","IOOI","IIOO","OIOI","IOOI"
 +700 DATA 10,1,20,2,5,3,8,4,10,5,10,6,6,7,8,8,0,0
 +780 READ d,f:IF d=0 THEN RETURN
 +782 IF d=-1 THEN FOR i=1 TO 100:NEXT i:GOTO 780
 +784 GOSUB 9340
 +786 GOTO 780
 +800 PRINT cls$
 +850 PRINT FN at$(3,35);"*** D A G O B A ***";FN at$(4,35);"==================="
 +855 PRINT FN at$(6,32);"AMSTRAD PCW 8256-8512-9512";FN at$(8,20);"(C)1987 Jorge Perez Barreiro  All Rights Reserved"
 +860 FOR t=89 TO 0 STEP -1:PRINT FN at$(16,t);CHR$(138);FN at$(20,89-t);CHR$(138):NEXT t
 +865 c$=" "+inverse1$+"-- D A G O B A --"+inverse0$+" "
 +870 FOR i=0 TO 50:PRINT FN at$(18,i);c$:OUT (248),11:OUT (248),12:NEXT i
 +875 FOR i=50 TO 28 STEP -1:PRINT FN at$(18,i);c$:OUT (248),11:OUT (248),12:NEXT i
 +880 FOR t=28 TO 35:PRINT FN at$(18,t);c$:OUT (248),11:OUT (248),12:NEXT t
 +881 PRINT FN at$(29,35);"*** PLEASE WAIT ***"
 +883 RESTORE 600:FOR t=1 TO 10:FOR y=1 TO 20:READ a$(t,y):o=INT (RND*8)+1:a$(t,y)=a$(t,y)+STR$(o)+"     ":MID$(a$(t,y),5,1)="0"
 +884 o=INT (RND*18)+1:MID$(a$(t,y),9,3)=STR$(o)
 +887 NEXT y:NEXT t
 +888 d$="":f$="":FOR i=0 TO 89:d$=d$+"-":f$=f$+" ":NEXT i
 +960 vi=5:pu=0:pi=0:ma=3:la=30:inm=0:tap=0
 +970 co=43:dr=1
 +980 RESTORE 700
 +982 READ r,t:IF r=0 THEN GOTO 1100
 +988 FOR i=1 TO r
 +990 p=INT (RND*10)+1:l=INT (RND*20)+1:IF MID$(a$(p,l),8,1)<>" " OR (p=5 AND l=11) THEN GOTO 990
 +995 MID$(a$(p,l),7,2)=STR$(t)
 +1000 NEXT i
 +1005 GOTO 982
 +1100 l1=INT (RND*10)+1:c1=INT (RND*20)+1:IF MID$(a$(l1,c1),8,1)<>" " OR (l1=5 AND c1=11) THEN GOTO 1100
 +1200 OUT (248),11:OUT(248),12:FOR i=1 TO 400:NEXT i:PRINT FN at$(29,35);"PULSA UNA TECLA....":FOR I=1 TO 400:NEXT i:PRINT FN at$(29,35);SPC(19)
 +1205 IF INKEY$="" THEN GOTO 1200
 +1208 l1=INT (RND*10)+1:c1=INT (RND*20)+1:IF MID$(a$(l1,c1),8,1)<>" " OR (l1=5 AND c1=11) THEN GOTO 1208
 +1210 FOR i=1 TO 31:PRINT FN at$(0,0);scrar$:NEXT i
 +1400 GOSUB 7000
 +1405 IF l1=5 AND c1=11 THEN GOTO 7400
 +1410 GOSUB 8000
 +1420 GOSUB 2100
 +1700 IF dr=1 THEN PRINT FN at$(21,co);CHR$(154);CHR$(139)
 +1705 IF dr=2 THEN PRINT FN at$(21,co);CHR$(139);CHR$(154)
 +1750 IF fle=1 THEN GOSUB 3400
 +1753 h$=INKEY$
 +1755 IF h$="o" THEN GOTO 6200
 +1760 IF h$="p" THEN GOTO 6300
 +1770 IF h$="q" AND co>41 AND co<46 AND MID$(a$(l1,c1),1,1)="I" THEN GOTO 6400
 +1775 IF h$="a" AND co>41 AND co<46 AND MID$(a$(l1,c1),3,1)="I" THEN GOTO 6500
 +1778 IF h$=" " AND la>0 THEN GOTO 6600
 +1779 IF h$="m" AND ma>0 THEN GOTO 8500
 +1780 REM
 +2000 GOTO 1750
 +2100 fle=0:g$=MID$(a$(l1,c1),8,1):IF g$=" " THEN cosu=96:RETURN
 +2101 IF g$="7" THEN GOTO 2510
 +2102 cosu=INT (RND*65)+10:IF cosu>39 AND cosu<47 THEN GOTO 2102
 +2105 x$=MID$(a$(l1,c1),8,1)
 +2110 IF x$="1" THEN c1$=inverse1$+CHR$(123)+CHR$(123)+inverse0$:c2$=CHR$(131)+CHR$(137)
 +2115 IF x$="2" THEN c1$=CHR$(47)+CHR$(217):c2$=inverse1$+CHR$(46)+CHR$(46)+inverse0$
 +2120 IF x$="3" THEN c1$=CHR$(150)+CHR$(156):c2$=inverse1$+CHR$(146)+CHR$(32)+inverse0$
 +2125 IF x$="4" THEN c1$=CHR$(151)+CHR$(154):c2$=inverse1$+CHR$(45)+CHR$(45)+inverse0$
 +2130 IF x$="5" THEN c1$=inverse1$+CHR$(139)+CHR$(143)+inverse0$:c2$=inverse1$+CHR$(142)+CHR$(137)+inverse0$
 +2135 IF x$="6" THEN c1$=inverse1$+CHR$(253)+CHR$(252)+inverse0$:c2$=inverse1$+CHR$(94)+CHR$(94)+inverse0$
 +2140 IF x$="8" THEN c1$=CHR$(188)+CHR$(188):c2$=inverse1$+CHR$(188)+CHR$(188)+inverse0$
 +2450 PRINT FN at$(20,COSu);c1$:PRINT FN at$(21,COSu);c2$
 +2500 RETURN
 +2510 cosu=96
 +2512 g1=INT (RND*10)+3:g3=INT (RND*10)+3:g5=INT (RND*10)+3
 +2515 g2=INT (RND*83)+3:g4=INT (RND*83)+3:g6=INT (RND*83)+3
 +2520 fle=1:RETURN
 +2700 REM
 +2730 PRINT FN at$(20,cosu);"  ";FN at$(21,cosu);"  "
 +2735 k$=MID$(a$(l1,c1),8,1):IF k$="1" THEN pu=pu+200:GOSUB 8100:GOTO 6750
 +2740 IF k$="2" THEN pi=pi+1:RESTORE 8715:GOSUB 780:pu=pu+500
 +2745 IF k$="3" THEN inm=inm+3:RESTORE 8720:GOSUB 780:pu=pu+50
 +2750 IF k$="4" THEN d=0.01:FOR i=0 TO 2:FOR f=0 TO 11 STEP 2:GOSUB 9340:NEXT f:NEXT i:la=la+15:pu=pu+25
 +2752 IF k$="8" THEN RESTORE 8735:GOSUB 780:MID$(a$(l1,c1),8,1)=" ":GOTO 6800
 +2755 IF k$="5" THEN ma=ma+1:RESTORE 8725:GOSUB 780:pu=pu+75
 +2757 IF k$="6" THEN RESTORE 8730:GOSUB 780:p$="* POSICION AL AZAR *":GOSUB 6900:pu=pu+200:GOTO 1208
 +2760 GOSUB 8100
 +2762 cosu=99
 +2765 MID$(a$(l1,c1),8,1)=" "
 +2790 ON dr GOTO 6218,6318
 +3000 FOR i=20 TO 5 STEP -1:PRINT FN at$(i,cosu);inverse1$;CHR$(162);CHR$(162);inverse0$;FN at$(i+1,cosu);CHR$(149);CHR$(149):f=i/2:d=0.007:GOSUB 9340:NEXT i
 +3005 FOR i=5 TO 20:PRINT FN at$(i,cosu-1);CHR$(133);FN at$(i,cosu+2);CHR$(133);FN at$(i+1,cosu-1);CHR$(188);FN at$(i+1,cosu+2);CHR$(188):NEXT i
 +3007 p$="CHUY EL ANDROIDE TE HA ELIMINADO":GOSUB 6900
 +3010 GOTO 6800
 +3050 d=0.01:FOR i=21 TO 15 STEP -1:PRINT FN at$(i,cosu);inverse1$;CHR$(58);CHR$(58);inverse0$:f=3:GOSUB 9340:f=9:GOSUB 9340:NEXT i
 +3055 PRINT FN at$(15,cosu-1);CHR$(217);FN at$(15,cosu+2);CHR$(47);FN at$(14,cosu-1);CHR$(134);CHR$(138);CHR$(138);CHR$(140);inverse0$
 +3060 PRINT FN at$(13,cosu);inverse1$;CHR$(46);CHR$(46);inverse0$;FN at$(12,cosu);CHR$(47);CHR$(217):p$="PIRAMIDE EXTRA":GOSUB 6900
 +3065 pi=pi+1:GOTO 1210
 +3100 FOR i=21 TO 17 STEP -1:PRINT FN at$(i,cosu);inverse1$;CHR$(58);CHR$(58);inverse0$:f=5:d=0.01:GOSUB 9340:f=9:d=0.06:GOSUB 9340:NEXT i
 +3105 FOR i=cosu-1 TO cosu-4 STEP -1:PRINT FN at$(17,i);CHR$(123);FN at$(17,i+6);CHR$(123):NEXT i
 +3110 FOR i=17 TO 21:PRINT FN at$(i,cosu-4);CHR$(133);FN at$(i,cosu+5);CHR$(133):NEXT i
 +3115 p$="* 1500 * BONOS EXTRA":GOSUB 6900
 +3120 pu=pu+1500:GOSUB 8100
 +3125 FOR i=17 TO 21:PRINT FN at$(i,cosu-4);SPC(10):NEXT i
 +3130 GOTO 1750
 +3150 FOR i=1 TO 85:PRINT FN at$(21,i);CHR$(154);CHR$(157)
 +3152 IF i>=co THEN PRINT FN at$(21,i+2);CHR$(139);CHR$(154)
 +3155 NEXT i
 +3175 co=87:PRINT FN at$(21,87);"  ":GOTO 6800
 +3200 FOR i=0 TO 23:PRINT FN at$(0,0);scrar$:NEXT i
 +3205 FOR i=0 TO 89:PRINT FN at$(5,i);inverse1$;CHR$(191);inverse0$:NEXT i
 +3210 csq=1:FOR i=8 TO 27 STEP 2:PRINT FN at$(i,27);CHR$(134);CHR$(138);CHR$(138);CHR$(140)
 +3211 PRINT FN at$(i+1,24);csq;FN at$(i+1,31);csq:csq=csq+1
 +3215 PRINT FN at$(i+1,27);CHR$(131);CHR$(138);CHR$(138);CHR$(137):NEXT i
 +3220 p$="SELECCION DE PISO CON LAS TECLAS:Q,A y SAPACE":GOSUB 6900
 +3230 pw=(l1*2)+7
 +3235 PRINT FN at$(pw,22);CHR$(252);FN at$(pw,35);CHR$(253)
 +3240 y$=INKEY$
 +3242 pq=pw
 +3245 IF y$="q" AND pw>9 THEN pw=pw-2:l1=l1-1:GOTO 3300
 +3250 IF y$="a" AND pw<27 THEN pw=pw+2:l1=l1+1:GOTO 3300
 +3255 IF y$=" " THEN GOTO 3310
 +3260 GOTO 3240
 +3300 f=7:d=0.006:GOSUB 9340:f=4:d=0.006:GOSUB 9340:PRINT FN at$(1,80);l1:PRINT FN at$(pq,22);" ";FN at$(pq,35);" ":GOTO 3235
 +3310 PRINT FN at$(5,0);SPC(89);" ":FOR i=0 TO 23:PRINT FN at$(0,0);scrab$:NEXT i:flag=1:GOTO 1400
 +3400 REM
 +3450 PRINT FN at$(g1,g2);" ";FN at$(g3,g4);" ";FN at$(g5,g6);" ":g1=g1+1:g3=g3+1:g5=g5+1
 +3460 PRINT FN at$(g1,g2);CHR$(254);FN at$(g3,g4);CHR$(248);FN at$(g5,g6);CHR$(166)
 +3465 IF g1=22 OR g3=22 OR g5=22 THEN GOTO 6800
 +3470 RETURN
 +3600 FOR i=0 TO 31:PRINT FN at$(0,0);scrab$:NEXT i
 +3610 PRINT FN at$(0,0);:FOR i=0 TO 89:PRINT "*";:NEXT i
 +3612 FOR i=1 TO 28:PRINT FN at$(i,0);"*";FN at$(i,89);"*":NEXT i
 +3615 PRINT FN at$(29,0);:FOR i=0 TO 89:PRINT "*";:NEXT i
 +3625 PRINT FN at$(3,33);">> G A M E  O V E R <<"
 +3630 PRINT FN at$(8,26);"TU FLOTA DE NAVES HA SIDO DESTRUIDA"
 +3635 PRINT FN at$(10,26);"TU PUNTUACION ES DE";pu;"PUNTOS"
 +3640 PRINT FN at$(12,26);"HAS COMPLETADO EL";tap/2;"% DE TU MISION"
 +3645 RESTORE 8745:GOSUB 780
 +3650 PRINT FN at$(27,26);"] QUIERES JUGAR OTRA PARTIDA ? (S/N)"
 +3652 h$=INKEY$
 +3655 IF h$="" THEN GOTO 3652
 +3660 IF h$="s" THEN RUN
 +3665 IF h$="n" THEN PRINT cls$:PRINT cursor1$:END
 +3670 GOTO 3652
 +4000 PRINT inverse1$:FOR i=4 TO 15 STEP 3:PRINT FN at$(i,1);SPC(35);FN at$(i,54);SPC(35)
 +4002 NEXT i
 +4003 PRINT inverse0$
 +4005 RETURN
 +4010 in1=3:in2=12
 +4015 PRINT FN at$(in1,in2);CHR$(47);FN at$(in1,89-in2);CHR$(217)
 +4017 in1=in1+1:in2=in2-1
 +4018 IF in1=15 THEN RETURN
 +4020 GOTO 4015
 +4025 PRINT inverse1$:FOR i=3 TO 12:PRINT FN at$(i,35);CHR$(149):NEXT i:PRINT inverse0$
 +4030 PRINT FN at$(13,33);CHR$(150);CHR$(154);CHR$(154);CHR$(154);CHR$(156):FOR i=14 TO 16:PRINT FN at$(i,33);CHR$(149);CHR$(253);" ";CHR$(252);CHR$(149):NEXT i
 +4032 PRINT FN at$(17,33);CHR$(147);CHR$(154);CHR$(154);CHR$(154);CHR$(153)
 +4033 RETURN
 +4035 FOR i=1 TO 40
 +4037 lz=INT (RND*14)+3
 +4038 cz=INT (RND*88)+1:IF cz>39 AND cz<48 THEN GOTO 4038 ELSE PRINT FN at$(lz,cz);".":NEXT i:RETURN
 +4039 RETURN
 +4040 PRINT inverse1$:spa=10:FOR t=3 TO 12:PRINT FN at$(t,1);SPC(spa);FN at$(t,41-spa);SPC(spa)
 +4041 PRINT FN at$(t,48);SPC(spa);FN at$(t,89-spa);SPC(spa)
 +4042 spa=spa-1:NEXT t
 +4045 PRINT inverse0$:RETURN
 +4050 FOR i=1 TO 50
 +4052 lz=INT (RND*14)+3
 +4055 cz=INT (RND*87)+1:IF cz>39 AND cz<48 THEN GOTO 4055 ELSE PRINT FN at$(lz,cz);CHR$(95);CHR$(95):NEXT i:RETURN
 +4057 RETURN
 +4060 PRINT inverse1$:spa=1:FOR i=3 TO 17:PRINT FN at$(i,1);LEFT$(d$,spa);FN at$(i,89-spa);LEFT$(d$,spa)
 +4065 spa=spa+1:NEXT i:PRINT inverse0$:RETURN
 +4070 FOR i=3 TO 16:PRINT FN at$(i,41);CHR$(149);"     ";CHR$(149):NEXT i
 +4074 PRINT FN at$(17,1);:FOR i=1 TO 40:PRINT CHR$(154);:NEXT i:PRINT CHR$(153)
 +4075 PRINT FN at$(17,47);CHR$(147);:FOR i=1 TO 41:PRINT CHR$(154);:NEXT i
 +4076 t$="[ GOOD LUCK !":PRINT FN at$(10,14);inverse1$;t$;FN at$(10,63);t$;inverse0$
 +4078 RETURN
 +4080 spa=1:FOR i=4 TO 16 STEP 2:PRINT FN at$(i,spa);:FOR o=0 TO 19:PRINT CHR$(45);CHR$(95);:NEXT o
 +4082 IF spa=1 THEN spa=49:GOTO 4086
 +4084 spa=1
 +4086 NEXT i:RETURN
 +4090 FOR i=1 TO 40 STEP 1:FOR t=3 TO INT (RND*10)+3:PRINT FN at$(t,i);CHR$(149):NEXT t:NEXT i
 +4094 FOR i=48 TO 88 STEP 1:FOR t=3 TO INT (RND*10)+3:PRINT FN at$(t,i);CHR$(149):NEXT t:NEXT i
 +4098 RETURN
 +4100 FOR o=0 TO 1
 +4105 IF o=0 THEN az1=INT (RND*8)+4:az2=INT (RND*18)+2:az3=INT(RND*(17-az1))+2:az4=INT (RND*(39-az2))+2
 +4108 IF o=1 THEN az1=INT (RND*8)+4:az2=INT (RND*20)+48:az3=INT(RND*(17-az1))+2:az4=INT (RND*(85-az2))+2
 +4110 PRINT FN at$(az1,az2);CHR$(134);:FOR i=1 TO az4:PRINT CHR$(138);:NEXT i:PRINT CHR$(140)
 +4115 FOR i=az1+1 TO (az1+az3)-1:PRINT FN at$(i,az2);CHR$(133);FN at$(i,az2+az4+1);CHR$(133):NEXT i
 +4120 PRINT FN at$(az1+az3,az2);CHR$(131);:FOR i=1 TO az4:PRINT CHR$(138);:NEXT i:PRINT CHR$(137)
 +4125 NEXT o
 +4130 RETURN
 +4150 o$="­­­­­":spa=5:FOR i=3 TO 7:PRINT FN at$(i,81+i);LEFT$(o$,spa):spa=spa-1:NEXT i
 +4155 FOR i=6 TO INT(RND*8)+9:PRINT FN at$(i,86);CHR$(149):NEXT i
 +4158 PRINT FN at$(i,85);CHR$(60);CHR$(34);CHR$(62)
 +4160 RETURN
 +4180 PRINT inverse1$:FOR o=0 TO 1
 +4185 IF o=0 THEN az1=INT (RND*8)+5:az2=INT (RND*20)+15:az3=INT (RND*(15-az1))+3
 +4188 IF o=1 THEN az1=INT (RND*8)+5:az2=INT (RND*20)+50:az3=INT (RND*(15-az1))+3
 +4190 FOR i=az1 TO az1+az3:PRINT FN at$(i,az2);CHR$(159):NEXT i
 +4195 x1=az1+(az3/2):x2=az2-(az3/2):PRINT FN at$(x1,x2);:FOR i=1 TO az3:PRINT CHR$(159);:NEXT i
 +4200 NEXT o
 +4205 PRINT inverse0$:RETURN
 +5000 STOP
 +6200 IF co=1 AND MID$(a$(l1,c1),4,1)="O" THEN GOTO 1780
 +6210 IF co=0 THEN c1=c1-1:co=88:GOTO 1400
 +6215 dr=1:co=co-1
 +6216 IF co-1=cosu THEN GOTO 2700
 +6218 PRINT FN at$(21,co+1);"  ";FN at$(21,co);CHR$(154);CHR$(139)
 +6220 h$=INKEY$:GOTO 1778
 +6300 IF co=87 AND MID$(a$(l1,c1),2,1)="O" THEN GOTO 1780
 +6310 IF co=88 THEN c1=c1+1:co=1:GOTO 1400
 +6315 dr=2:co=co+1
 +6316 IF co+1=cosu THEN GOTO 2700
 +6318 PRINT FN at$(21,co-1);"  ";FN at$(21,co);CHR$(139);CHR$(154)
 +6320 h$=INKEY$:GOTO 1778
 +6400 FOR i=20 TO 0 STEP -1:PRINT FN at$(i+1,co);"  ";FN at$(i,co);CHR$(154);CHR$(139):NEXT i
 +6405 l1=l1-1:GOTO 1400
 +6500 FOR i=46 TO 42 STEP -1:PRINT FN at$(22,i);" ":OUT (248),11:OUT (248),12:NEXT i
 +6510 FOR i=21 TO 23:PRINT FN at$(i-1,co);"  ";FN at$(i,co);CHR$(154);CHR$(139):NEXT i
 +6515 l1=l1+1:dr=1:GOSUB 7000:GOSUB 8000:GOSUB 2100:FOR i=1 TO 21:PRINT FN at$(i-1,co);"  ";FN at$(i,co);CHR$(154);CHR$(139):NEXT i:GOTO 1780
 +6600 la=la-1:OUT (248),11:OUT (248),12:IF dr=1 THEN PRINT FN at$(21,1);MID$(d$,1,co-1):PRINT FN at$(21,1);MID$(f$,1,co-1)
 +6605 IF dr=2 THEN PRINT FN at$(21,co+2);MID$(d$,1,87-co):PRINT FN at$(21,co+2);MID$(f$,1,87-co)
 +6606 GOSUB 8100
 +6607 IF cosu>90 THEN GOTO 6650
 +6610 IF (co<cosu AND dr=2) OR (co>cosu AND dr=1) THEN FOR i=1 TO 5:PRINT FN at$(20,cosu);CHR$(217);CHR$(47);FN at$(21,cosu);CHR$(47);CHR$(217) ELSE GOTO 6650
 +6612 f=4:d=0.006:GOSUB 9340:f=9:d=0.008:GOSUB 9340:f=6:d=0.05:GOSUB 9340
 +6615 PRINT FN at$(20,cosu);CHR$(96);CHR$(179);FN at$(21,cosu);CHR$(179);CHR$(96)
 +6616 f=6:d=0.04:GOSUB 9340:f=2:d=0.02:GOSUB 9340:f=8:d=0.01:GOSUB 9340
 +6620 NEXT i:PRINT FN at$(20,cosu);"  ";FN at$(21,cosu);"  "
 +6625 k$=MID$(a$(l1,c1),8,1):cosu=200:MID$(a$(l1,c1),8,1)=" ":IF k$="8" THEN GOTO 1750 ELSE GOTO 6800
 +6650 IF fle=0 THEN GOTO 1750
 +6652 IF (dr=1 AND g2<co) OR (dr=2 AND g2>co) THEN IF g1=21 THEN pu=pu+150:GOSUB 8100:g1=3:g2=INT (RND*85)+3
 +6654 IF (dr=1 AND g4<co) OR (dr=2 AND g4>co) THEN IF g3=21 THEN pu=pu+150:GOSUB 8100:g3=3:g4=INT (RND*85)+3
 +6656 IF (dr=1 AND g6<co) OR (dr=2 AND g6>co) THEN IF g5=21 THEN pu=pu+150:GOSUB 8100:g5=3:g6=INT (RND*85)+3
 +6690 GOTO 1750
 +6750 RESTORE 8710:GOSUB 780
 +6755 MID$(a$(l1,c1),8,1)=" "
 +6760 so=INT (RND*5)+1
 +6765 ON so GOTO 3000,3050,3100,3150,3200
 +6766 PRINT "ERROR 6766":STOP
 +6800 IF inm=0 THEN GOTO 6801 ELSE inm=inm-1:GOSUB 8100:RESTORE 8740:GOSUB 780:GOTO 1210
 +6801 d=0.0025:FOR i=1 TO 20:PRINT FN at$(21,co-1);inverse1$;" ";CHR$(139);CHR$(154);" ";inverse0$:f=INT (RND*12):GOSUB 9340:PRINT FN at$(21,co-1);" ";CHR$(139);CHR$(154);" ":NEXT i
 +6802 PRINT FN at$(21,co-1);"    "
 +6805 vi=vi-1:IF vi=-1 THEN GOTO 3600
 +6810 FOR i=8 TO 10:PRINT FN at$(i,33);"******************":NEXT i:PRINT FN at$(9,33);inverse1$;"* UNA NAVE MENOS *";inverse0$
 +6812 d=0.04:FOR f=1 TO 11:GOSUB 9340:NEXT f
 +6815 d=0.04:FOR f=11 TO 1 STEP -1:GOSUB 9340:NEXT f:GOTO 1210
 +6900 LOCl=(89-LEN(p$))/2
 +6905 FOR i=1 TO 10:PRINT FN at$(29,LOCl);inverse1$;p$;inverse0$:f=i:d=0.1:GOSUB 9340:f=i-1:d=0.07:GOSUB 9340
 +6910 PRINT FN at$(29,LOCl);p$
 +6915 NEXT i:PRINT FN at$(29,0);SPC(85)
 +6920 RETURN
 +6999 STOP
 +7000 IF flag=1 THEN flag=0:GOTO 7005
 +7002 PRINT cls$
 +7005 PRINT FN at$(0,0);inverse1$;f$;inverse0$
 +7010 b$=a$(l1,c1)
 +7020 t$=MID$(a$(l1,c1),6,1)
 +7030 s$=CHR$(143)+CHR$(188)+CHR$(187)+CHR$(255)+CHR$(133)+CHR$(155)+CHR$(95)+CHR$(161)+CHR$(166)+CHR$(180)
 +7035 u=VAL(t$)
 +7050 w$=MID$(s$,u,1)
 +7055 PRINT FN at$(2,0);:FOR i=0 TO 89:PRINT w$;:NEXT i
 +7060 PRINT FN at$(0,0);CHR$(134):PRINT FN at$(0,89);CHR$(140)
 +7062 PRINT FN at$(0,1);:FOR i=1 TO 22:PRINT CHR$(138);CHR$(138);CHR$(138);CHR$(138);:NEXT i
 +7065 FOR i=1 TO 21:PRINT FN at$(i,0);CHR$(133);FN at$(i,89);CHR$(133):NEXT i
 +7070 PRINT FN at$(22,0);CHR$(131);FN at$(22,89);CHR$(137)
 +7071 PRINT FN at$(22,1);:FOR i=1 TO 22:PRINT CHR$(138);CHR$(138);CHR$(138);CHR$(138);:NEXT i
 +7072 PRINT FN at$(23,0);:FOR i=0 TO 89:PRINT w$;:NEXT i
 +7100 IF MID$(a$(l1,c1),1,1)="I" THEN PRINT FN at$(0,41);CHR$(156);"     ";CHR$(150);FN at$(1,41);CHR$(149);"     ";CHR$(149);FN at$(2,41);CHR$(153);"     ";CHR$(147)
 +7105 IF MID$(a$(l1,c1),3,1)="I" THEN PRINT FN at$(22,41);CHR$(156);:FOR i=1 TO 5:PRINT CHR$(154);:NEXT i:PRINT CHR$(150);FN at$(23,41);CHR$(153);"     ";CHR$(147)
 +7110 IF MID$(a$(l1,c1),4,1)="I" THEN PRINT FN at$(18,0);inverse1$;"  ";inverse0$;CHR$(157);FN at$(22,0);CHR$(138):FOR i=19 TO 21:PRINT FN at$(i,0);" ":NEXT i
 +7115 IF MID$(a$(l1,c1),2,1)="I" THEN PRINT FN at$(18,87);CHR$(151);inverse1$;"  ";inverse0$;FN at$(22,89);CHR$(138):FOR i=19 TO 21:PRINT FN at$(i,89);" ":NEXT i
 +7200 IF MID$(a$(l1,c1),5,1)="0" THEN MID$(a$(l1,c1),5,1)="1":tap=tap+1
 +7210 IF MID$(a$(l1,c1),8,1)="7" OR (l1=5 AND c1=11) THEN RETURN
 +7220 u=VAL(MID$(a$(l1,c1),9,3))
 +7230 ON u GOTO 4000,4010,4025,4035,4040,4050,4060,4070,4080,4090,4100,4100,4100,4150,4150,4180,4180,4180
 +7300 RETURN
 +7400 PRINT FN at$(21,85);CHR$(154);CHR$(139):k$="":j$="":FOR i=0 TO 50:j$=j$+CHR$(133):k$=k$+CHR$(46):NEXT i
 +7410 clk=4:ip=48:FOR i=21 TO 7 STEP -1:PRINT FN at$(i,clk);inverse1$;MID$(j$,1,ip);inverse0$:clk=clk+2:ip=ip-2
 +7420 NEXT i
 +7440 ip=20:FOR i=21 TO 13 STEP -1:PRINT FN at$(i,52);inverse1$;MID$(k$,1,ip);inverse0$:ip=ip-1
 +7450 NEXT i
 +7460 PRINT FN at$(8,58);CHR$(159);CHR$(138);CHR$(158)
 +7465 PRINT FN at$(9,58);CHR$(149);" ";CHR$(200)
 +7470 PRINT FN at$(10,57);inverse1$;SPC(5);inverse0$
 +7475 PRINT FN at$(11,59);CHR$(133);FN at$(12,59);CHR$(133)
 +7500 FOR i=7 TO 19:PRINT FN at$(i,38);SPC(8):NEXT i
 +7505 FOR i=16 TO 19:PRINT FN at$(i,36);SPC(12):NEXT i
 +7520 PRINT FN at$(19,37);CHR$(158);:FOR i=1 TO 8:PRINT CHR$(154);:NEXT i:PRINT CHR$(158)
 +7540 cr1=16:cr2=40:GOSUB 7800
 +7545 cr1=5:cr2=36:GOSUB 7820
 +7560 IF pi<15 THEN GOTO 7840
 +7565 FOR cr2=36 TO 26 STEP -1:GOSUB 7820:f=cr2/3.5:d=0.01:GOSUB 9340:NEXT cr2
 +7570 PRINT FN at$(24,33);"** FELICIDADES **"
 +7580 PRINT FN at$(25,20);"EL TESORO DE LA FORTALEZA DE DAGOBA ES TUYO"
 +7585 RESTORE 8750:GOSUB 780
 +7590 GOTO 3650
 +7700 STOP
 +7800 PRINT inverse1$:PRINT FN at$(cr1,cr2);CHR$(134);CHR$(58);CHR$(58);CHR$(140)
 +7805 PRINT FN at$(cr1+1,cr2);CHR$(133);"  ";CHR$(133)
 +7810 PRINT FN at$(cr1+2,cr2);CHR$(131);CHR$(138);CHR$(138);CHR$(137);inverse0$
 +7815 RETURN
 +7820 PRINT FN at$(cr1,cr2);inverse1$;SPC(12);inverse0$;" "
 +7825 PRINT FN at$(cr1+1,cr2);inverse1$;SPC(12);inverse0$;" "
 +7835 RETURN
 +7840 FOR i=59 TO 85:PRINT FN at$(8,i);CHR$(138);CHR$(158);FN at$(9,i);" ";CHR$(200):f=11:d=0.0004:GOSUB 9340:NEXT i
 +7845 FOR i=9 TO 20:f=6:d=0.004:GOSUB 9340:f=3:d=0.004:GOSUB 9340:PRINT FN at$(i,86);" ";FN at$(i+1,86);CHR$(200):NEXT i
 +7850 p$="TE FALTABAN PIRAMIDES":GOSUB 6900:GOTO 3600
 +7900 STOP
 +8000 PRINT FN at$(24,0);:FOR i=0 TO 89:PRINT CHR$(191);:NEXT i
 +8005 PRINT FN at$(25,25);" PIRAMIDES  LASER   MAPAS  ESCUDOS"
 +8010 FOR i=1 TO 4:PRINT FN at$(26,i*8+20);CHR$(150);CHR$(154);CHR$(154);CHR$(154);CHR$(154);CHR$(156)
 +8015 PRINT FN at$(28,i*8+20);CHR$(147);CHR$(154);CHR$(154);CHR$(154);CHR$(154);CHR$(153)
 +8017 PRINT FN at$(27,i*8+20);CHR$(149);"    ";CHR$(149)
 +8020 NEXT i
 +8030 PRINT FN at$(25,66);inverse1$;"*****";FN at$(27,66);"*****";inverse0$;FN at$(25,73);CHR$(252);FN at$(27,73);CHR$(252)
 +8100 PRINT FN at$(25,0);"NAVES: ";:FOR i=1 TO vi:PRINT CHR$(139);CHR$(154);CHR$(32);:NEXT i
 +8105 PRINT FN at$(27,0);"PUNTOS:";pu;FN at$(25,75);"PISO:";l1;FN at$(27,75);"CAMARA:";c1
 +8110 PRINT FN at$(27,29);pi;FN at$(27,37);la;FN at$(27,45);ma;FN at$(27,53);inm
 +8480 RETURN
 +8499 STOP
 +8500 ma=ma-1:PRINT cls$:FOR i=0 TO 29:PRINT FN at$(i,64);CHR$(149):NEXT i:PRINT FN at$(0,68);"* MAPA DE DAGOBA *";FN at$(1,68);"=================="
 +8502 PRINT FN at$(4,68);"p=PIRAMIDES";FN at$(6,68);"c=COFRES";FN at$(8,68);"m=VIDEOMAPAS";FN at$(10,68);"i=ESCUDOS";FN at$(12,68);"l=CARGAS LASER";FN at$(14,68);"e=ENEMIGOS"
 +8504 PRINT FN at$(16,68);"b=BURLADEROS";FN at$(18,68);"o=OBSTACULOS";FN at$(20,68);"x=POSICION NAVE";FN at$(22,68);inverse1$;"T";inverse0$;"=TEMPLO"
 +8507 j$="cpilmbeo"
 +8508 FOR t=1 TO 10:FOR y=1 TO 20
 +8510 b$=a$(t,y)
 +8515 PRINT FN at$(t*3-3,y*3);CHR$(134);" ";CHR$(140):PRINT FN at$((t*3-3)+2,y*3);CHR$(131);" ";CHR$(137)
 +8520 IF MID$(b$,1,1)="O" THEN PRINT FN at$(t*3-3,y*3+1);CHR$(154)
 +8525 IF MID$(b$,2,1)="O" THEN PRINT FN at$(t*3-3+1,y*3+2);CHR$(149)
 +8530 IF MID$(b$,3,1)="O" THEN PRINT FN at$(t*3-3+2,y*3+1);CHR$(154)
 +8535 IF MID$(b$,4,1)="O" THEN PRINT FN at$(t*3-3+1,y*3);CHR$(149)
 +8540 k$=MID$(b$,8,1):IF k$<>" " THEN PRINT FN at$(t*3-3+1,y*3+1);MID$(j$,VAL(k$),1)
 +8560 NEXT y:NEXT t
 +8565 PRINT FN at$(29,70);"* PULSA SPACE *"
 +8570 PRINT FN at$(13,34)inverse1$;"T";inverse0$
 +8600 FOR i=1 TO 500:NEXT i:PRINT FN at$(l1*3-3+1,c1*3+1);"x":FOR i=1 TO 500:NEXT i
 +8605 PRINT FN at$(l1*3-3+1,c1*3+1);" ":FOR i=1 TO 200:NEXT i
 +8610 k$=MID$(a$(l1,c1),8,1):IF k$<>" " THEN PRINT FN at$(l1*3-3+1,c1*3+1);MID$(j$,VAL(k$),1)
 +8690 y$=INKEY$:IF y$=" " THEN GOTO 1400
 +8700 GOTO 8600
 +8710 DATA .05,3,.1,2,.03,7,.2,5,.06,10,0,0
 +8715 DATA .1,7,.15,6,-1,0,.04,6,.02,7,.2,9,.3,10,0,0
 +8720 DATA .2,11,.1,8,.04,10,.1,8,.1,5,0,0
 +8725 DATA .3,2,.3,10,.3,1,.3,0,.5,1,0,0
 +8730 DATA .1,8,.05,1,.08,11,0,0
 +8735 DATA .04,1,.06,11,.1,5,0,0
 +8740 DATA .3,11,.2,9,.1,6,.06,3,.03,7,.02,8,.01,9,0,0
 +8745 DATA .6,0,-1,0,.6,0,-1,0,.2,0,.4,0,-1,0,.2,0,.5,1,-1,0,.2,0,.4,0,-1,0,.2,0,.5,0,0,0
 +8750 DATA .5,9,.1,4,.5,4,.1,7,.5,7,.1,5,.1,7.,1,8,0,0,
 +8800 RESTORE 8725:GOSUB 780
 +8999 STOP
 +9000 REM BEEP
 +9010 MEMORY 61999!
 +9020 RESTORE 9060:FOR n=62000! TO 62091!
 +9030 READ d
 +9040 POKE n,d
 +9050 NEXT n
 +9060 DATA 229,213,197,221,229,42,75,242,237,91,73,242,205,77,242,62
 +9070 DATA 12,211,248,221,225,193,209,225,201,0,0,0,0,243,125,203
 +9080 DATA 61,203,61,47,230,3,79,6,0,221,33,97,242,221,9,62
 +9090 DATA 11,0,0,0,4,12,13,32,253,14,63,5,32,248,60,254
 +9100 DATA 13,32,2,61,61,211,248,68,79,254,11,32,9,122,179,40
 +9110 DATA 9,121,77,27,221,233,77,12,221,233,251,201
 +9130 a=62000!
 +9140 b=62025!
 +9150 c=62027!
 +9160 DIM e(12)
 +9170 FOR n=0 TO 11
 +9180 READ f
 +9190 e(n)=f
 +9200 NEXT n
 +9210 DATA 261.63
 +9220 DATA 277.18
 +9230 DATA 293.66
 +9240 DATA 311.13
 +9250 DATA 329.63
 +9260 DATA 349.23
 +9270 DATA 369.99
 +9280 DATA 392.00
 +9290 DATA 415.30
 +9300 DATA 440.00
 +9310 DATA 466.16
 +9320 DATA 493.88
 +9330 RETURN
 +9340 IF f<0 THEN PRINT "ERROR: F NO PUEDE SE MENOR QUE 0":STOP
 +9350 f2=e(f)
 +9360 t=3500000!/(f2*2):t=INT(t/4-30.125)
 +9370 IF t<0 THEN t=1
 +9380 f2=INT(f2*d)
 +9390 IF f2<0 THEN f2=1
 +9400 POKE b,f2-256*INT(f2/256)
 +9410 POKE b+1,INT(f2/256)
 +9420 POKE c,t-256*INT(t/256)
 +9430 POKE c+1,INT(t/256)
 +9440 CALL a
 +9450 RETURN
 +9998 STOP
 +9999 CLEAR:SAVE "dagoba"
 +</file>
  
 ===== Controles ===== ===== Controles =====
Línea 29: Línea 455:
         M = MAPA         M = MAPA
   ESPACIO = DISPARAR LASER   ESPACIO = DISPARAR LASER
- 
-===== Programa ===== 
- 
-{{:otros:Dagoba_programa_01.jpg?180|}} 
-{{:otros:Dagoba_programa_02.jpg?180|}} 
-{{:otros:Dagoba_programa_03.jpg?180|}} 
-{{:otros:Dagoba_programa_04.jpg?180|}} 
-{{:otros:Dagoba_programa_05.jpg?180|}} 
  
 ===== Carga del programa ===== ===== Carga del programa =====
Línea 42: Línea 460:
   1.- Introducir el disco CP/M por la cara 2   1.- Introducir el disco CP/M por la cara 2
   2.- Escribir BASIC y esperar a que cargue   2.- Escribir BASIC y esperar a que cargue
-  3.- Retirar el disco CP/M e introducir el disco que contiene el Dagoba+  3.- Retirar el disco CP/M e introducir el disco que contiene el juego Dagoba
   4.- Teclear run "Dagoba" y pulsar la tecla "ENTER"   4.- Teclear run "Dagoba" y pulsar la tecla "ENTER"
 +
 +===== Extras =====
 +
 +  * Listado del programa en revistas de gran tirada de la época
 +
 +{{:otros:Dagoba_programa_01.jpg?170}} {{:otros:Dagoba_programa_02.jpg?170}} {{:otros:Dagoba_programa_03.jpg?170}} {{:otros:Dagoba_programa_04.jpg?170}} {{:otros:Dagoba_programa_05.jpg?170}}
 +
 +{{:otros:Dagoba_programa_06.jpg?180}} {{:otros:Dagoba_programa_07.jpg?180}} {{:otros:Dagoba_programa_08.jpg?180}} {{:otros:Dagoba_programa_09.jpg?180}}
  
 ===== Descarga ===== ===== Descarga =====
  
-  * {{:juegos:descargas:Dagoba.zip|Dagobajuego en formato dsk, comprimido con zip}} +  * {{:otros:Dagoba (Basic).zip|Dagoba }}(juego en formato dsk, comprimido con zip
  
 ===== Enlaces ===== ===== Enlaces =====
  
   * [[http://www.ooparts-universe.com/prgs/index_esp.html|Página Web oficial de Jorge Pérez Barreiro]]   * [[http://www.ooparts-universe.com/prgs/index_esp.html|Página Web oficial de Jorge Pérez Barreiro]]
es/dagoba.1423064561.txt.gz · Última modificación: 2015/09/21 08:27 (editor externo)