====== THE ONE ARMED BANDIT ====== {{:otros:The_One_Armed_Bandit_p1.jpg?690|}} ===== Ficha ===== ^ Autor | N. Barrington | ^ Computadora | Amstrad PCW 8256 / 8512 / 9512 | ^ Año | ???? | ^ Género | Arcade | ^ Controles | Teclado | ^ Lenguajes | Inglés | ^ Estado | [[preservado|Preservado]] | ===== Capturas ===== {{:otros:The_One_Armed_Bandit_screenshot01.png?220}} {{:otros:The_One_Armed_Bandit_screenshot02.png?220}} {{:otros:The_One_Armed_Bandit_screenshot03.png?220}} {{:otros:The_One_Armed_Bandit_screenshot04.png?220}} ===== Descripción ===== Un juego que nos traslada a las maquinas tragaperras, pero ésta, en lugar de un mango para tirar de él, lo tendremos que hacer con la barra espaciadora de nuestro teclado. Cada juego comienza con 10 fichas almacenados a la izquierda de la pantalla. Intentaremos acumular una fortuna sin arriesgar un solo euro. De vez en cuando nos aparecerá una función especial aleatoria, hay que pulsar la barra espaciadora en el momento que aparezca ésta función. Para empujar un tambor hay que pulsar el número apropiado (1, 2 o 3) correspondiente al tambor que deseamos mover. Podemos desplazar cualquier tambor en cualquier orden, mientras el indicador derecho siga mostrando el desplazamiento a la izquierda. Si tenemos la secuencia deseada antes de usar todos los comodines disponibles, simplemente presionamos la barra espaciadora para continuar con el juego. Si deseamos abandonar la partida en cualquier momento, sólo tendremos que pulsar la tecla exit. ===== Listado ===== * **__Listado 1 - FRUIT.BAS__** 2 hi=HIMEM 10 DIM b(8,20):MEMORY &HBFFE:FOR x=&HC070 TO &HC098:READ pk:POKE x,pk:NEXT x 20 DATA 243,62,129,211,241,62,130,211,242,175,95,103,22,184,58,153,192,111,41,41 30 DATA 41,25,17,154,192,235,1,8,0,237,176,62,133,211,241,62,134,211,242,251,201 40 char=179:count=76:ch=CHAR:WHILE char * **__Listado 2 - FRUIT.OVL__** 2 OPTION RUN 10 DEFINT a-z 20 z$=CHR$(10)+STRING$(6,8) 30 zz$=CHR$(27)+"I" 40 FOR k=0 TO 7:FOR l=1 TO 4:f$(k)=f$(k)+CHR$(198+((k-1)*8)+l):NEXT:f$(k)=" "+f$(k)+" "+z$+" " 50 FOR l=5 TO 8:f$(k)=f$(k)+CHR$(198+((k-1)*8)+l):NEXT:f$(k)=f$(k)+" "+zz$:NEXT 60 f$(8)=" "+z$+" "+zz$ 70 RESTORE 1220:FOR k=1 TO 6:READ R$(k):NEXT k 80 FOR i=0 TO 9:READ x,y:n$(i)=CHR$(x)+CHR$(10)+CHR$(8)+CHR$(y)+CHR$(27)+"I":NEXT 90 rev$=CHR$(27)+"p":rof$=CHR$(27)+"q" 100 DEF FNat$(x,y)=CHR$(27)+"Y"+CHR$(32+x)+CHR$(32+y) 110 DEF FNcen$(y,a$)=CHR$(27)+"Y"+CHR$(32+y)+CHR$(32+((89-LEN(a$))/2))+a$ 120 cls$=CHR$(27)+"E" 130 DEF FNcb$(y)=CHR$(27)+"Y"+CHR$(32+y)+CHR$(32)+CHR$(27)+"J" 140 CON$=CHR$(27)+"e":COF$=CHR$(27)+"f":PRINT COF$ 150 DEF FNcl$=CHR$(27)+"K" 160 PRINT CHR$(27)+"E"+CHR$(27)+"0" 170 w=PEEK(64504!):RANDOMIZE(w) 180 T=10 190 D$=CHR$(134)+STRING$(10,138)+CHR$(140) 200 F$=CHR$(133)+SPACE$(10)+CHR$(133) 210 E$=CHR$(131)+STRING$(10,138)+CHR$(137):GOSUB 240 220 GOTO 340 230 'CALL screen 240 a$=rev$+SPACE$(70)+rof$:PRINT FNat$(2,11)a$:PRINT FNat$(0,11)a$:PRINT FNat$(1,11)rev$" T H E O N E A R M E D B A N D I T By N Barrington "rof$ 250 PRINT FNat$(4,11)CHR$(150)+STRING$(14,154)+CHR$(158)+STRING$(38,154)+CHR$(158)+STRING$(14,154)+CHR$(156) 260 PRINT FNat$(5,11)CHR$(149)+" "+D$+" "+CHR$(149)+" "+D$+D$+D$+" "+CHR$(149)+" "+D$+" "+CHR$(149) 270 PRINT FNat$(6,11)CHR$(149)+" "+F$+" "+CHR$(149)+" "+F$+F$+F$+" "+CHR$(149)+" "+F$+" "+CHR$(149) 280 PRINT FNat$(7,11)CHR$(149)+" "+F$+" "+CHR$(149)+" "+F$+F$+F$+" "+CHR$(149)+" "+F$+" "+CHR$(149) 290 PRINT FNat$(8,11)CHR$(149)+" "+E$+" "+CHR$(149)+" "+E$+E$+E$+" "+CHR$(149)+" "+E$+" "+CHR$(149) 300 PRINT FNat$(9,11)CHR$(147)+STRING$(14,154)+CHR$(155)+STRING$(38,154)+CHR$(155)+STRING$(14,154)+CHR$(153) 310 PRINT FNat$(12,10)CHR$(134)+STRING$(33,138)+CHR$(140)+" "+CHR$(134)+STRING$(33,138)+CHR$(140) 320 FOR x=13 TO 29:PRINT FNat$(x,10)CHR$(133)+SPACE$(33)+CHR$(133)+" "+CHR$(133)+SPACE$(33)+CHR$(133):NEXT x 330 PRINT FNat$(30,10)CHR$(131)+STRING$(33,138)+CHR$(137)+" "+CHR$(131)+STRING$(33,138)+CHR$(137):RETURN 340 PRINT FNat$(13,11)" ____ ____ "+F$(2)" "+n$(2) 350 PRINT FNat$(16,11)" ____ "+F$(2)+" "+F$(2)+" "+n$(4) 360 s$=" " 370 PRINT FNat$(19,13)" " F$(2) s$ F$(2) S$ F$(2) s$ s$ n$(6) 380 PRINT FNat$(22,13)" " F$(4) s$ F$(4) s$ F$(4) s$ s$ n$(1)" "n$(0) 390 PRINT FNat$(25,13)" " F$(4) s$ F$(4) s$ F$(7) s$ S$ n$(1)" "n$(0) 400 PRINT FNat$(28,13)" " F$(7) s$ F$(7) S$ F$(7) s$ s$ n$(2)" " n$(5) 410 PRINT FNat$(13,50)" " F$(3) s$ F$(3) S$ F$(3) s$ S$ n$(8) 420 PRINT FNat$(16,50)" " F$(3) s$ F$(3) S$ F$(7) S$ S$ n$(8) 430 PRINT FNat$(19,50)" " F$(5) s$ F$(5) s$ F$(5) s$ S$ n$(8) 440 PRINT FNat$(22,50)" " F$(5) s$ F$(5) s$ F$(7) S$ S$ n$(8) 450 PRINT FNat$(25,50)" " F$(6) s$ F$(6) S$ F$(6) S$ S$ n$(8) 460 PRINT FNat$(28,50)" " F$(6) S$ F$(6) S$ F$(7) S$ S$ n$(8) 470 GOSUB 1070:GOTO 980 480 ok=FRE(""):PRINT FNat$(7,68)" " 490 PRINT FNat$(10,0)CHR$(27)"K" FNat$(11,0)CHR$(27)"K" 500 r=INT(RND*10)+10:FOR i=1 TO r 510 GOSUB 1390 520 A$=F$(a) 530 GOSUB 1410 540 B$=F$(b) 550 GOSUB 1430 560 C$=F$(c) 570 PRINT FNat$(6,31)a$:PRINT FNat$(6,43)b$:PRINT FNat$(6,55)C$ 580 NEXT i:GOSUB 1370 590 R=INT(RND*10)+10:FOR i=1 TO r 600 GOSUB 1410:B$=F$(b) 610 GOSUB 1430 620 C$=F$(c) 630 PRINT FNat$(6,43)b$:PRINT FNat$(6,55)c$ 640 NEXT i:GOSUB 1370 650 R=INT(RND*10)+10:FOR i=1 TO r 660 GOSUB 1430: C$=F$(c) 670 PRINT FNat$(6,55)c$: 680 NEXT i 690 GOSUB 1370:T=T-1:FOR i=1 TO 1000:NEXT 700 GOSUB 1070 710 PRINT FNat$(10,0)CHR$(27)"K"FNAT$(11,0)CHR$(27)"K" 720 GOSUB 1370:IF C=2 THEN GOTO 750 730 IF A$=B$ THEN GOTO 800 740 GOTO 970 750 FOR i=1 TO 1000:NEXT i:IF B=2 THEN GOTO 770 760 W=2 :GOTO 890 770 IF A=2 THEN GOTO 790 780 W=4 :GOTO 890 790 W=6 :GOTO 890 800 FOR i=1 TO 1000:NEXT i:IF A$=C$ THEN GOTO 830 810 IF C=7 THEN GOTO 830 820 GOTO 980 830 ON A GOTO 980,980,880,850,880,880,860:GOTO 980 840 W=12 :GOTO 890 850 W=10 :GOTO 890 860 W=25 :GOSUB 1150 870 GOTO 890 880 W=8 :GOTO 890 890 IF W>4 THEN GOSUB 1190:GOTO 920 900 IF W=4 THEN GOSUB 1200:GOTO 920 910 IF W=2 THEN GOSUB 1210:GOTO 920 920 FOR i=1 TO W 930 T=T+1:PRINT CHR$(7);: 940 GOSUB 1070 950 NEXT i 960 W=0 970 j=INT(RND*12):IF j<4 THEN GOTO 1020 980 ok=FRE(""):PRINT FNat$(8,0)" ":Z$=INKEY$:IF Z$="" THEN GOTO 980 990 IF T<1 THEN GOTO 1100 1000 IF Z$=CHR$(27) THEN I=T:FOR T=i TO 0 STEP -1:GOSUB 1070:OUT 248,11:OUT 248,12:FOR j=1 TO 100:NEXT:NEXT:GOTO 1120 1010 GOTO 480 1020 X=0 1030 FOR j=1 TO 50:X=4:GOSUB 1080:FOR i=1 TO 500:NEXT i:IF INKEY$=" " THEN t=t+1:fl=1:j=51:GOTO 1055 1040 x=5:GOSUB 1080:FOR i=1 TO 500:NEXT i:IF INKEY$=" " THEN fl=2:j=51:GOTO 1055 1050 X=6:GOSUB 1080:FOR i=1 TO 500:NEXT i:IF INKEY$=" " THEN fl=3:j=51:GOTO 1055 1051 fl=0 1055 NEXT 1056 IF fl=1 THEN 480 1057 IF fl=2 THEN 710 1058 IF fl=3 THEN 1230 1060 GOTO 1030 1070 PRINT FNat$(6,14) n$(0)" " n$(0)" " n$((t\100)MOD 10)" "n$((t\10)MOD 10)" " n$(t MOD 10):RETURN 1080 PRINT FNat$(7,68)R$(X)CHR$(7) 1090 RETURN 1100 GOSUB 240:FOR i=1 TO 500:NEXT i:PRINT rev$ FNat$(7,29)" SORRY YOU HAVE RUN OUT OF TOKENS "rof$ 1110 FOR i=1 TO 3000:NEXT i 1120 FOR i=0 TO 15:FOR j=1 TO 25:NEXT j:PRINT FNat$((31-(i*2)),0)STRING$(86,32);:PRINT FNat$((0+(i*2)),0)STRING$(86,32);:NEXT i 1130 PRINT con$ CHR$(27)+"1" 1140 END 1150 PRINT FNat$(11,0)CHR$(27)"K"FNat$(10,0)CHR$(27)"K" 1160 FOR i=1 TO 20:PRINT CHR$(7);FNat$(7,68)" JACKPOT!!" 1170 PRINT FNat$(7,68)rev$" JACKPOT!!"rof$ 1180 PRINT FNat$(7,68)" ":NEXT:RETURN 1190 PRINT FNat$(6,31)rev$ a$ FNat$(6,43)b$ FNat$(6,55)c$ rof$:RETURN 1200 PRINT FNat$(6,43)rev$ b$ FNat$(6,55)c$ rof$:RETURN 1210 PRINT FNat$(6,55)rev$ c$ rof$:RETURN 1220 DATA ,,,"EXTRA TURN"," HOLD ALL ","**NUDGE**" 1230 PRINT FNat$(11,0)CHR$(27)"K"FNat$(10,0)CHR$(27)"K":v=INT((RND*18)+1) 1240 FOR go=1 TO v :FOR j=1 TO 5+go:OUT 248,11:OUT 248,12:FOR i=1 TO 10-go:NEXT:NEXT:PRINT FNat$(10,((go-1)*5)) f$(0) :NEXT 1250 ok=FRE(""):FOR go=v TO 1 STEP -1:GOSUB 1340 1260 PRINT FNat$(10,((go-1)*5))f$(8) 1270 IF X=1 THEN 1280 ELSE IF X=2 THEN 1290 ELSE 1300 1280 GOSUB 1390:A$=F$(a):GOSUB 1330:PRINT FNat$(6,31)a$:GOTO 1310 1290 GOSUB 1410:B$=F$(b):GOSUB 1330:PRINT FNat$(6,43)b$:GOTO 1310 1300 GOSUB 1430:C$=F$(c):GOSUB 1330:PRINT FNat$(6,55)C$ 1310 NEXT go 1320 PRINT FNat$(7,68)" ":GOTO 710 1330 FOR j=1 TO 10:OUT 248,11:FOR i=1 TO 2:NEXT:OUT 248,12:FOR i=1 TO 20-go:NEXT:NEXT:RETURN 1340 PRINT FNAT$(7,68)" ":X$=INPUT$(1):IF INSTR(" 123",X$)=0 THEN 1340 1350 X=VAL(X$):IF X>3 OR X<1 THEN GOTO 1320 1360 RETURN 1370 OUT 248,11:FOR i=1 TO 5:NEXT:OUT 248,12:RETURN 1380 DATA 189,190,179,179,180,181,180,182,183,184,185,182,185,186,187,179,188,186,188,182,189,190 1390 a=a+1:IF a=8 THEN a=1 1400 RETURN 1410 b=b+1:IF b=8 THEN b=1 1420 RETURN 1430 c=c+1:IF c=8 THEN c=1 1440 RETURN ===== Controles ===== 1 = TAMBOR IZQUIERDO 2 = TAMBOR CENTRAL 3 = TAMBOR DERECHO SPACE = JUGAR 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 One Armed Bandit 4.- Teclear run "Fruit" y pulsar la tecla "ENTER" ===== Descarga ===== * {{:otros:The One Armed Bandit (Basic).zip|The One Armed Bandit }}(juego en formato dsk, comprimido con zip)