Traducciones de esta página:

Herramientas de usuario

Herramientas del sitio


es:danger_uxb

DANGER UXB

Ficha

Danger_uxb_p1.jpg

Autor Phil Lawson
Compatibilidad Amstrad PCW 8256 / 8512 / 9512
Año ????
Género Arcade
Controles Teclado
Idioma Inglés
Estado Preservado

Capturas

Danger_uxb_screenshot01.png Danger_uxb_screenshot02.png Danger_uxb_screenshot03.png Danger_uxb_screenshot04.png

Descripción

Danger Uxb se posiciona como uno de los clásicos en el mundo de los videojuegos, equiparándose a títulos como Snake. De hecho, Snake fue uno de los juegos más populares en los ordenadores de la época. Danger Uxb consiste en dirigir una serpiente hacia la caza de alimentos. Tendremos que evitar el tocar las paredes, chocar contra una piedra o tocarnos a nosotros mismos, ya que perderemos una vida. Los gráficos son algo más vistosos que Snake.

Un juego realmente entretenido, con buenos gráficos, pero carencia de sonido como es de costumbre en las máquinas PCW.

Listado

  • Listado - DANGER.BAS
10 REM       DANGER UXB
20 REM      by Phil Lawson
30 REM (c) Computing With The Amstrad
40 REM ------------ PCW -------------
50 cls$=CHR$(27)+"E"+CHR$(27)+"H"
60 DEFINT a-z:GOSUB 1180
70 DIM m(30,40),bx(20),by(20)
80 DIM sc(10),sc$(10):FOR a=1 TO 10
90 sc(11-a)=a*100:sc$(a)="PCW":NEXT
100 FOR a=1 TO 30:m(a,1)=2:m(a,40)=2
110 NEXT:FOR a=1 TO 40:m(1,a)=2
120 m(30,a)=2:NEXT
130 win=0:lev=0:score=0:n=50
140 FOR a=2 TO 29:FOR b=2 TO 39
150 m(a,b)=0:NEXT:NEXT:live=-1:l=10
160 f=0:lev=lev+1:IF lev=4 THEN lev=1:IF n<90 THEN n=n+10 ELSE n=50
170 GOSUB 1080:PRINT cls$:POKE pen,255
180 POKE paper,0:POKE double,0
190 GOSUB 1020
200 x=0:y=2:a$="LEVEL":CALL print1(x,y,a$):y=8:a$="SCORE":CALL print1(x,y,a$)
210 x=1:y=14:a$="FOOD"
220 CALL print1(x,y,a$):GOSUB 930
230 x=2:y=4:a$=STR$(lev+(((n/10)-5)*3))
240 CALL print1(x,y,a$)
250 WHILE INKEY$<>"":WEND
260 d=0:WHILE live:a$=INKEY$
270 IF a$="" AND d>0 THEN GOSUB 440:GOTO 340
280 t=0:a$=LOWER$(a$):IF a$="" THEN 350
290 IF a$="z" THEN t=1
300 IF a$="x" THEN t=2
310 IF a$="k" THEN t=3
320 IF a$="m" THEN t=4
330 IF t<>0 THEN d=t:GOSUB 440
340 IF f=n THEN GOSUB 680:live=0:win=-1
350 WEND
360 IF win THEN win=0:GOTO 140
370 POKE paper,85:POKE pen,0:POKE double,1
380 x=30:y=15:a$=" G A M E  O V E R "
390 CALL print1(x,y,a$)
400 FOR a=1 TO 50:POKE pen,255*(a MOD 2)
410 CALL print1(x,y,a$)
420 NEXT:GOSUB 730:y$="":INPUT "AGAIN J/N ",y$:IF UPPER$(y$)="J" THEN GOTO 130 ELSE CLEAR:PRINT CHR$(27)+"e":END:END
430 REM move Cecil
440 m(hy,hx)=4:a$=CHR$(4)
450 x=hx*2+8:y=hy:t1=hx:t2=hy
460 CALL print1(x,y,a$)
470 IF d=1 THEN hx=hx-1
480 IF d=2 THEN hx=hx+1
490 IF d=3 THEN hy=hy-1
500 IF d=4 THEN hy=hy+1
510 IF m(hy,hx)=2 THEN live=0:RETURN
520 IF m(hy,hx)=4 THEN live=0:RETURN
530 a$=CHR$(3):x=hx*2+8:y=hy
540 CALL print1(x,y,a$):t=1
550 IF m(hy,hx)=1 THEN t=0:f=f+1:x=1:y=16:a$=STR$(n-f)+" ":CALL print1(x,y,a$)
560 m(hy,hx)=4:IF t=1 THEN 620
570 score=score+10
580 x=1:y=10:a$=MID$(STR$(score),2)
590 CALL print1(x,y,a$)
600 IF l=20 THEN 620 ELSE l=l+1
610 GOTO 650
620 x=bx(l)*2+8:y=by(l)
630 a$=CHR$(0):CALL print1(x,y,a$)
640 m(by(l),bx(l))=0
650 FOR a=l TO 2 STEP -1
660 bx(a)=bx(a-1):by(a)=by(a-1)
670 NEXT:bx(1)=t1:by(1)=t2:RETURN
680 POKE double,1:POKE paper,85:POKE pen,255
690 x=30:y=15:a$="WELL DONE"
700 CALL print1(x,y,a$):x=35:y=20
710 a$="NEXT LEVEL"
720 CALL print1(x,y,a$):RETURN
730 REM High score table
740 IF score<=sc(10) THEN 850
750 t=0:FOR a=10 TO 1 STEP -1
760 IF sc(a)<score% THEN t=a
770 NEXT:PRINT cls$
780 PRINT "YOU ARE ONE OF THE BETTER PLAYERS"
790 INPUT "Your name:";n$
800 IF LEN(n$)>10 THEN PRINT"Max. 10 chars.":GOTO 790
810 IF t=10 THEN 840
820 FOR a=9 TO t STEP -1:SWAP sc$(a+1),sc$(a)
830 SWAP sc(a+1),sc(a):NEXT
840 sc$(t)=n$:sc(t)=score
850 PRINT cls$:POKE double,1:POKE pen,255:POKE paper,85
860 x=20:y=0:a$="THE BEST PLAYERS":CALL print1(x,y,a$)
870 POKE paper,0:FOR a=1 TO 10
880 x=16:y=a*2+2:a$=STR$(a)+" "+sc$(a)
890 x=x-(2*INT(a/10))
900 CALL print1(x,y,a$):x=45
910 a$=STR$(sc(a)):CALL print1(x,y,a$)
920 NEXT:RETURN
930 y=INT(RND*15)+7:xx=INT(RND*20)+7
940 m(y,xx)=3:hx=xx:hy=y
950 x=xx*2+8:a$=CHR$(3)+" ":CALL print1(x,y,a$)
960 FOR a=xx+1 TO xx+10
970 bx(a-xx)=a:by(a-xx)=y
980 m(y,a)=4:a$=CHR$(4)+" "
990 x=a*2+8:CALL print1(x,y,a$):NEXT
1000 l1x=xx+10:l1y=y:l2x=xx+9:l2y=y
1010 RETURN
1020 FOR a=1 TO 30:FOR b=1 TO 40
1030 IF m(a,b)=0 THEN 1070
1040 a$=CHR$(m(a,b))+" "
1050 x=(b*2)+8:y=a
1060 CALL print1(x,y,a$)
1070 NEXT:NEXT:RETURN
1080 REM set up bangers
1090 FOR a=1 TO (lev*10)*(lev+3)
1100 x=INT(RND*40)+1:y=INT(RND*30)+1
1110 IF m(y,x)<>0 THEN 1100
1120 m(y,x)=2:NEXT
1130 REM set up food
1140 FOR a=1 TO 100
1150 x=INT(RND*40)+1:y=INT(RND*30)+1
1160 IF m(y,x)<>0 THEN 1150
1170 m(y,x)=1:NEXT:RETURN
1180 GOSUB 1260:PRINT cls$+CHR$(27)+"f"
1190 RESTORE 1210:FOR f=0 TO 4:FOR g=0 TO 7:READ n:POKE (udgs+f*8+g),n
1200 NEXT:NEXT:RETURN
1210 DATA 0,0,0,0,0,0,0,0
1220 DATA 24,36,90,165,165,90,36,24
1230 DATA 24,24,126,102,90,90,102,126
1240 DATA 153,126,155,219,255,90,36,24
1250 DATA 24,126,255,255,255,255,126,24
1260 MEMORY &HCFFF
1270 RESTORE 1350:address=&HE000
1280 FOR i=1 TO 31:sum=0:READ code$,check$:FOR j=1 TO 21 STEP 2
1290 byte=VAL("&H"+MID$(code$,j,2)):POKE address,byte:sum=sum+byte
1300 address=address+1:NEXT
1310 IF sum<>VAL("&H"+check$) THEN PRINT "Error in data line";i*10+1340:STOP
1320 NEXT
1330 screen=&HE000:print1=&HE003:udgs=&HD100:pen=&HD001:paper=&HD000
1340 double=&HD006:POKE pen,255:POKE paper,0:POKE double,0:CALL screen:RETURN
1350 DATA C306E0C35BE0CD29E01198,626
1360 DATA 2C2100B60168013E20F5D5,395
1370 DATA 3E0873237223133D20F8D1,3AA
1380 DATA EB09EBF13D20ECC9C1CD5A,6CA
1390 DATA FCE900C9661A6F2202D00A,49B
1400 DATA 3210D0030A6F030A67ED4B,33A
1410 DATA 10D006001113D0EDB02A02,3A3
1420 DATA D0CDFCE02204D02113D022,595
1430 DATA 11D0C9CD30E0CD29E0F32A,67A
1440 DATA 11D07E232211D0CDEAE011,52D
1450 DATA 4FE1010800EDB0DD2A04D0,4B1
1460 DATA 0E08FD214FE12A00D07D06,3E1
1470 DATA 08FDCB0006380D07DDCB08,3D2
1480 DATA 16DDCB001607C3A4E0CB04,4F1
1490 DATA DDCB0816DDCB0016CB04DD,530
1500 DATA CB0816DDCB001610D7FD23,4AE
1510 DATA 3A06D0A7CAD1E0DD7E08DD,672
1520 DATA 7709DD7E00DD7701DD2379,4A9
1530 DATA FE05C2D1E001C802DD094F,576
1540 DATA DD230DC282E02A04D00110,440
1550 DATA 00092204D02110D035C262,359
1560 DATA E0FBC91100B8FE20300311,4CF
1570 DATA 00D16F260029292919C95C,31F
1580 DATA 260054CB25010FE1094E23,2D5
1590 DATA 46EB29292909C93059005C,363
1600 DATA D05EA06170644067106AE0,504
1610 DATA 6CB06F807250752078F07A,544
1620 DATA C07D9080608330860089D0,53F
1630 DATA 8BA08E709140941097E099,5AE
1640 DATA B09C809F50A220A5F0A7C0,679
1650 DATA AA90AD60B0000000000000,2F7

Controles

      Z = IZQUIERDA
      X = DERECHA 
      K = ARRIBA
      M = ABAJO

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

Extras

Descarga

  • Danger Uxb (juego en formato dsk, comprimido con zip)

Enlaces

es/danger_uxb.txt · Última modificación: 2017/02/04 13:19 por jevicac