User Tools

Site Tools


en:the_one_armed_bandit

THE ONE ARMED BANDIT

INFO

Author N. Barrington
Computer Amstrad PCW 8256 / 8512 / 9512
Year ????
Gender arcade
Controls Keyboard
Languages English
Status preserved

Screenshots

Description

A game that takes us back to slot machines, but this one, instead of a handle to pull it, we will have to do it with the space bar on our keyboard. Each game starts with 10 tokens stored on the left of the screen. We will try to accumulate a fortune without risking a single euro.

From time to time a special random function will appear, you have to press the space bar at the moment that this function appears. To push a drum you have to press the appropriate number (1, 2 or 3) corresponding to the drum you want to move. We can shift any drum in any order, as long as the right indicator continues to show the shift to the left. If we have the desired sequence before using all the available jokers, we simply press the space bar to continue the game.

If we want to leave the game at any time, we will only have to press the exit key.

Listing

  • Listing 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<count+ch:POKE &HC099,(char):FOR r=1 TO 8:READ b(r,ct):POKE &HC099+r,(b(r,ct))
50 NEXT:cl=&HC070:CALL cl:char=char+1:WEND:MEMORY hi:RUN "fruit.ovl
51 DATA 28,28,28,28,28,28,28,28,254,255,7,7,7,7,7,127,254,224,224,224,224,224,255,255,127,7,7,7,7,7,255,254,224,224,224,224,224,224,224,224,224,224,230,230,255,255,6,6
52 DATA  255, 255, 224, 224, 224, 224, 224, 224, 255, 231, 231, 231, 231, 231, 255, 126, 255, 255, 7, 7, 14, 14, 28, 28, 126, 255, 231, 231, 231, 231, 231, 255, 126, 255, 231, 231, 231, 231, 231, 231
53 DATA 231,231,231,231,231,231,231,126
60 DATA 32,113,251,127,221,77,197,85,130,199,239,255,104,107,107,107,8,28,190,255,112,175,175,175,32,113,251,254,135,190,191,142,209,89,221,127,255,125,56,16,107,107,152,255,255,247,227,65
70 DATA  172, 174, 96, 255, 255, 223, 142, 4, 191, 190, 135, 254, 255, 124, 56, 16
80 DATA  0,0,0,0,1,3,127,255, 0,0,0,63,255,255,255,255, 0,0,0,254,255,255,255,255, 0,0,0,0,128,252,255,243
90 DATA  255,127,31,3,0,0,0,0
100 DATA  255, 255, 255, 255, 127, 0, 0, 0, 255, 255, 255, 255, 254, 0, 0, 0, 255, 254, 252, 128, 0, 0, 0, 0
110 DATA  0, 0, 0, 0, 0, 0, 7, 63, 1, 1, 2, 28, 112, 192, 224, 248, 0, 255, 255, 56, 14, 1, 7, 31, 0, 0, 192, 224, 32, 0, 248, 252
120 DATA  127, 228, 255, 228, 255, 127, 63, 15
130 DATA  252, 254, 254, 254, 252, 248, 240, 192, 127, 228, 255, 228, 255, 127, 63, 15, 254, 255, 255, 255, 254, 254, 252, 240
140 DATA  0, 1, 3, 2, 7, 14, 27, 63, 216, 255, 171, 127, 247, 91, 246, 223, 3, 6, 204, 252, 111, 255, 239, 255, 0, 0, 0, 0, 0, 192, 112, 220
150 DATA   55, 126, 127, 186, 95, 255, 222, 8
160 DATA  237, 117, 239, 207, 118, 232, 192, 0, 251, 111, 255, 252, 0, 0, 0, 0, 248, 240, 224, 0, 0, 0, 0, 0
170 DATA  0, 0, 0, 0, 0, 0, 1, 1, 7, 12, 12, 31, 127, 255, 255, 255, 192, 96, 96, 240, 252, 254, 255, 255,0,0,0,0,0,0,0,0
180 DATA  3, 7, 15, 31, 63, 127, 255, 0
190 DATA  255, 255, 255, 255, 255, 255, 255, 120, 251, 251, 253, 254, 255, 255, 255, 0, 128, 192, 224, 240, 120, 190, 255, 0
200 DATA  31, 54, 107, 213, 171, 213, 171, 213, 252, 7, 0, 252, 135, 128, 128, 255, 0, 248, 15, 0, 248, 15, 6, 249, 0, 0, 128, 192, 32, 208, 248, 232
210 DATA  171, 213, 171, 215, 106, 55, 30, 0
220 DATA  0, 7, 252, 0, 3, 254, 0, 0, 14, 248, 3, 30, 240, 0, 0, 0, 24, 112, 192, 0, 0, 0, 0, 0
230 DATA  0, 0, 0, 0, 3, 15, 31, 63, 0, 0, 7, 127, 255, 255, 255, 255, 0, 0, 255, 255, 255, 254, 249, 247, 3, 14, 184, 240, 176, 240, 224, 192
240 DATA 127, 255, 255, 252, 195, 127, 30, 0
250 DATA  255, 252, 131, 127, 255, 248, 0, 0, 15, 255, 252, 240, 128, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0
260 DATA  0, 0, 0, 255, 192, 223, 217, 223, 0, 0, 0, 255, 0, 3, 134, 12, 0, 0, 0, 255, 0, 129, 193, 97, 0, 0, 0, 255, 3, 243, 155, 243
270 DATA 217, 217, 223, 192, 255, 0, 0, 0
280 DATA  159, 176, 48, 0, 255, 0, 0, 0, 241, 25, 25, 0, 255, 0, 0, 0, 227, 179, 155, 3, 255, 0, 0, 0
290 DATA  130, 197, 168, 144, 128, 162, 178, 170, 8, 20, 162, 65, 0, 151, 148, 148, 32, 81, 138, 4, 0, 29, 161, 161, 131, 69, 41, 17, 1, 229, 5, 197
300 DATA  166, 162, 128, 128, 144, 168, 197, 130
310 DATA  148, 103, 0, 0, 65, 162, 20, 8, 165, 29, 0, 0, 4, 138, 81, 32, 1, 229, 1, 1, 17, 41, 69, 131,
320 DATA 32,113,251,127,221,77,197,85,130,199,239,255,104,107,107,107,8,28,190,255,112,175,175,175,32,113,251,254,135,190,191,142,209,89,221,127,255,125,56,16,107,107,152,255,255,247,227,65,
330 DATA  172, 174, 96, 255, 255, 223, 142, 4, 191, 190, 135, 254, 255, 124, 56, 16,
340 DATA 28,28,28,28,28,28,28,28,254,255,7,7,7,7,7,127,254,224,224,224,224,224,255,255,127,7,7,7,7,7,255,254,224,224,224,224,224,224,224,224,224,224,230,230,255,255,6,6,
350 DATA  255, 255, 224, 224, 224, 224, 224, 224, 255, 231, 231, 231, 231, 231, 255, 126, 255, 255, 7, 7, 14, 14, 28, 28, 126, 255, 231, 231, 231, 231, 231, 255, 126, 255, 231, 231, 231, 231, 231, 231,
360 DATA 231,231,231,231,231,231,231,126,
  • Listing 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 

Controls

         1 = LEFT DRUM
         2 = CENTER DRUM
         3 = RIGHT DRUM
     SPACE = PLAY
      EXIT = LEAVE GAME

Loading the program

 1.- Insert the CP/M disc on side 2
 2.- Write BASIC and wait for it to load
 3.- Remove the CP/M disk and insert the disk containing the game The One Armed Bandit
 4.- Type run "Fruit" and press the "ENTER" key

Download

en/the_one_armed_bandit.txt · Last modified: 2022/06/30 15:08 by jevicac