1 'BANDIT.BA by Rick Rothstein 2 'Press to Insert coins and to roll again. 10 DEFINT A-Z:DIM W(2,4),Q(2):W=1:U=9:L=1:LG=2:CK=9:IFPEEK(1)=171 THEN X=-737 ELSE X=-85 11 GOSUB 36:GOSUB 30:GOSUB 41 12 GOSUB 30:IF I$<"1" OR I$>"6" THEN 12 ELSE IF I$="5" THEN 11 ELSE IF I$="6" THEN LG=2-LG:GOSUB 42:GOTO 12 ELSE IF I$="4" THEN L=VAL(I$):D=0:T=0 13 W$=MID$("253123642453142532342514216313156425213132142342432542436423432423126531241351243152461262543512136423146352622435246352342354236424521346461215315362415256231534146513125624562345624635625435263423",66*L-65,66) 14 IF I$<"4" OR U=9 THEN U=1:GOSUB29 15 GOSUB31:FOR J=0 TO D:ON J GOSUB 19,20,21,22,23:NEXT:PRINT@66,MID$("Insert Coins Coin Accepted",1-13*(D>0),13) 16 GOSUB 30:IF I$=CHR$(27) THEN CLS:GOSUB 41:GOTO 12 ELSE IF I$=" " AND D>0 THEN W=0:GOSUB 32:W=1:GOSUB 29:GOSUB 32:GOTO 24 ELSE IF I$<>CHR$(13) THEN 16 17 PRINT@66,"Coin Accepted":IF D=0 THEN FOR N=0 TO 280 STEP 40:PRINT@N,SPACE$(4);:NEXT:FOR N=9 TO 289 STEP 40:PRINT@N,SPACE$(2);:PRINT@N+7,SPACE$(2);:PRINT@N+14,SPACE$(2);:NEXT 18 IF D=5 THEN 16 ELSE T=T-1:GOSUB33:D=D+1:SOUND 3500,LG:ON D GOSUB 19,20,21,22,23:GOTO 16 19 LINE(5,27)-(13,36),1,B:LINE(8,30)-(8,30),U:LINE(9,29)-(9,33),U:LINE(8,34)-(10,34),U:LINE(14,32)-(23,32):FOR N=0TO84 STEP 42:LINE(56+N,32)-(65+N,32):NEXT:RETURN 20 LINE(5,12)-(13,21),1,B:LINE(7,15)-(8,14),U:LINE-(10,14),U:LINE-(11,15),U:LINE-(7,19),U:LINE-(11,19),U:LINE(13,13)-(23,13):FOR N=0TO84STEP42:LINE(56+N,13)-(65+N,13):NEXT:RETURN 21 LINE(5,42)-(13,51),1,B:LINE(7,45)-(8,44),U:LINE-(10,44),U:LINE-(11,45),U:LINE(9,46)-(10,46),U:LINE-(11,47),U:LINE-(11,48),U:LINE-(10,49),U:LINE-(8,49),U:LINE-(7,48),U:LINE(13,50)-(23,50):FOR N=0TO84STEP42:LINE(56+N,50)-(65+N,50):NEXT:RETURN 22 LINE(5,0)-(13,9),1,B:LINE(10,2)-(10,7),U:LINE(9,3)-(7,5),U:LINE(7,6)-(11,6),U:LINE(14,2)-(17,2):LINE-(23,5):LINE(56,20)-(65,24):LINE(98,40)-(107,44):LINE(140,57)-(149,61):RETURN 23 LINE(5,54)-(13,63),1,B:LINE(10,56)-(7,56),U:LINE-(7,58),U:LINE-(10,58),U:LINE(11,59)-(11,60),U:LINE(10,61)-(8,61),U:LINE-(7,60),U:LINE(14,61)-(16,61):LINE-(23,58):LINE(56,44)-(65,40):LINE(98,24)-(107,20):LINE(140,6)-(149,2):RETURN 24 TT=T:Z=0:FOR CK=0 TO D-1:IF W(0,CK)=1 THEN Z=2-3*(W(1,CK)=1):GOTO 26 25 IF W(0,CK)<>W(1,CK) OR ((W(1,CK)<>W(2,CK) OR W(1,CK)=5) AND W(2,CK)<>5) OR (W(1,CK)=6 AND W(2,CK)=5) THEN 27 ELSE IF W(0,CK)<5 THEN Z=2+4*W(0,CK) ELSE Z=100-100*(W(0,CK)=6) 26 GOSUB 28:FOR CT=1 TO Z STEP 1-4*(W(0,CK)>4):T=T+1-4*(W(0,CK)>4):SOUND 450,LG:GOSUB33:NEXT 27 NEXT:U=1:CK=9:PRINT@66,"Insert Coins";SPACE$(1):IF Z THEN D=0:GOTO 16 ELSE FOR Z=1 TO 200/D:NEXT:SOUND 16300,9*LG:D=0:GOTO 16 28 U=0:R=VAL(MID$("2712420054",2*CK+1,2)):C=VAL(MID$("3621510963",2*CK+1,2)):LINE(5,R)-(13,C),1,BF:ON CK+1 GOSUB 19,20,21,22,23:RETURN 29 FOR N=0 TO 2:Q(N)=INT(20*RND(1))+2:NEXT:FOR J=0 TO 2:FOR N=0 TO 2:W(N,J)=VAL(MID$(W$,Q(N)+22*N+VAL(MID$("00-1+1",2*J+1,2)),1)):NEXT:NEXT:FOR N=0 TO 2:W(N,3)=W(N,VAL(MID$("102",N+1,1))):W(N,4)=W(N,VAL(MID$("201",N+1,1))):NEXT:RETURN 30 N=RND(1):I$=INKEY$:IF I$="" THEN 30 ELSE IF PEEK(X)=7 THEN MENU ELSE RETURN 31 CLS:FOR N=0 TO 84 STEP 42:LINE(27+N,0)-(52+N,63),1,B:LINE(28+N,1)-(51+N,62),1,B:NEXT:PRINT@266,"You are":GOSUB33:PRINT@147,"Coins":PRINT@187,"paid";CHR$(241);CHR$(154):LINE(159,21)-(217,41),1,B 32 K=-1:FOR R=32 TO 116 STEP 42:K=K+1:FOR C=5 TO 43 STEP 19:ON W(K,VAL(MID$("102",(C+14)/19,1))) GOSUB 44,45,46,47,48,49:NEXT:SOUND 8000,2*LG*W:NEXT:RETURN 33 IF T=0 THEN PRINT@306,"Now Even";ELSE IF T<0 THEN PRINT@306,"Down $";MID$(STR$(ABS(T)),2);SPACE$(1); ELSE PRINT@306,"Ahead $";MID$(STR$(ABS(T)),2);SPACE$(1); 34 IF CK<9 THEN PRINT@193,RIGHT$("00"+MID$(STR$(T-TT),2,3),3) ELSE PRINT@193,"000" 35 RETURN 36 CLS:R=6:C=0:GOSUB44:LINE(34,8)-(42,8):LINE(58,8)-(66,8):PRINT@54,"$ 2":C=16:GOSUB44:R=30:GOSUB44:LINE(58,24)-(66,24):PRINT@134,"$ 5":QQ=0 37 C=32:FOR R=6 TO 30 STEP 24:GOSUB45:NEXT:LINE(58,C)-(57,C+1):LINE(55,C+2)-(59,C+6),1,BF:LINE(54,C+3)-(60,C+5),1,B:LINE(56,C+7)-(58,C+7):GOSUB43:PRINT@214,"$10" 38 C=49:FOR R=6TO30STEP24:GOSUB46:NEXT:LINE(57,C)-(57,C+6):LINE(56,C+2)-(58,C+6),1,B:LINE(55,C+5)-(59,C+5):LINE(54,CZ+6)-(60,C+6):GOSUB43:PRINT@294,"$14"; 39 C=0:FOR R=126 TO 150 STEP 24:GOSUB47:NEXT:LINE(178,C)-(178,C+6):LINE(177,C+1)-(179,C+5),1,B:LINE(176,C+2)-(180,C+4),1,B:LINE(175,C+3)-(181,C+3):GOSUB43:PRINT@74,"$ 18" 40 C=17:FOR R=126 TO 174 STEP 24:GOSUB48:NEXT:PRINT@154,"$100":C=33:FORR=126 TO 174 STEP 24:GOSUB 49:NEXT:PRINT@234,"$200":PRINT@302,"(Press any key)";:RETURN 41 CLS:PRINT@5,"Press for":LINE(30,10)-(58,10):LINE(72,10)-(88,10):PRINT@87,"1 True Casino Odds":PRINT@127,"2 Generous Odds":PRINT@167,"3 Extremely Generous Odds":PRINT@207,"4 Return TO current Game":PRINT@247,"5 Payout Chart" 42 PRINT@287,"6 Sound";SPACE$(1);MID$("ON OFF",1.5*LG+1,3);:RETURN 43 LINE(13+R,C+3)-(3+R,C+13):LINE(10+R,C+10)-(15+R,C+12),1,BF:RETURN 44 LINE(R+10,C+1)-(R+9,C+1),W:LINE-(R+3,C+7),W:LINE(R+13,C+1)-(R+10,C+4),W:LINE-(R+10,C+5),W:LINE-(R+12,C+7),W:FOR N=R TO N+9 STEP 9:LINE(N+2,C+8)-(N+4,C+14),W,B:LINE(N+1,C+9)-(N+5,C+13),W,B:LINE(N,C+10)-(N+6,C+12),W,BF:NEXT:RETURN 45 LINE(R+11,C+1)-(R+10,C+1),W:LINE-(R+8,C+3),W:LINE(R+3,C+4)-(R+12,C+12),W,B:PRESET(R+7,C+4):PRESET(R+9,C+4):LINE(R+2,C+5)-(R+13,C+11),W,B:LINE(R+1,C+6)-(R+14,C+10),W,BF:LINE(R+4,C+13)-(R+11,C+13),W:LINE(R+5,C+14)-(R+10,C+14),W:RETURN 46 LINE(R+7,C+1)-(R+8,C+13),W,B:LINE(R+5,C+5)-(R+10,C+5),W:LINE(R+4,C+6)-(R+11,C+13),W,BF:LINE(R+3,C+11)-(R+12,C+11),W:LINE(R+2,C+12)-(R+13,C+12),W:LINE(R+1,C+13)-(R+14,C+13),W:RETURN 47 FORN=1TO7:LINE(R-N+9,C+N)-(R+N+7,C+N),W:NEXT:FORN=8TO15:LINE(R+N-7,C+N)-(R-N+23,C+N),W:NEXT:RETURN 48 LINE(R+1,C+5)-(R+14,C+10),W,BF:RETURN 49 LINE(R+3,C+2)-(R+4,C+4),W,B:LINE(R+5,C+2)-(R+12,C+3),W,B:LINE(R+11,C+4)-(R+12,C+4),W:LINE(R+10,C+5)-(R+11,C+6),W,B:LINE(R+9,C+6)-(R+9,C+8),W:LINE(R+8,C+7)-(R+10,C+7),W:LINE(R+7,C+8)-(R+8,C+13),W,B:RETURN