====== DANGER UNEXPLODED BANGERS ====== {{:otros:Danger_uxb_p1.jpg?690|}} ===== Ficha ===== ^ Autor | Phil Lawson | ^ Compatibilidad | Amstrad PCW 8256 / 8512 / 9512 | ^ Año | 1987 | ^ Género | Arcade | ^ Controles | Teclado | ^ Idioma | Inglés | ^ Estado | [[preservado|Preservado]] | ===== Capturas ===== {{:otros:Danger_uxb_screenshot01.png?220}} {{:otros:Danger_uxb_screenshot02.png?220}} {{:otros:Danger_uxb_screenshot03.png?220}} {{:otros:Danger_uxb_screenshot04.png?220}} ===== 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. Es 6 de noviembre, el día después de la noche de la hoguera y Cecil el el ciempiés vidente está levantado y buscando el desayuno. Desafortunadamente, el jardín está lleno de bombas sin explotar que estallarán al menor toque, por lo que debe tener mucho cuidado en su búsqueda de comida. Como todo buen ciempiés, Cecil crece cada vez que come hasta que alcanza el tamaño normal. Esto le da el peligro adicional de encontrarse consigo mismo porque desde que el jardinero roció herbicida por todo el lugar, el cuerpo de Cecil ha sido altamente tóxico. Si accidentalmente se muerde a sí mismo, lo cual es muy posible ya que no puede encontrar sus anteojos, la muerte lo seguirá de inmediato. Por suerte para él, eres muy aficionado a las criaturas de la madre naturaleza y has ofrecido tus servicios para ayudarlo a guiarlo, y cuando termine un jardín, se mudará a otro con más salchichas que evitar y más comida para comer. Hay 15 jardines por completar y si los gestionas todos volverás al primero. Tan pronto como presiones una tecla, Cecil comenzará a moverse y no se detendrá hasta que tenga suficiente comida o muera. Tu trabajo es tener suficiente comida o morir. Tu trabajo es mantenerlo con vida guiándolo, pero tendrás que ser rápido con los dedos y tener buen ojo para detectar el peligro que se avecina. 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)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 ===== * Listado del programa en una revista de gran tirada de la época {{:otros:Danger_uxb_01.jpg?170}} {{:otros:Danger_uxb_02.jpg?170}} ===== Descarga ===== * {{:otros:Danger Uxb (Basic).zip|Danger Uxb }}(juego en formato dsk, comprimido con zip) ===== Vídeo ===== {{ youtube>5-hH1molz-4?large }}