100  REM #### DICE GAME FOR 1 TO 6 PLAYERS ####
101 RANDOM
102 DIM A(150)
103 CLS
110  A=0:B=0:C=0:D=0:E=0:F=0:G=0:H=0:I=0:J=0:K=0:L=0:M=0
120  N=0:O=0:P=0:Q=0:R=0:S=0:T=0:U=0:V=0:W=0:X=0:Y=0:Z=0
130  GOSUB2000:PRINT
150 PRINT CHR$(23):PRINT"  * *   C R A P    G A M E   * * "
151  GOSUB2200:PRINT
152  GOSUB10000:PRINT
154  A=1
155  S=A(A)
156  GOTO167
160  A=1
161  S=A(9+A)
162  GOTO167
167  B=B+1:IF A=0 GOTO169
168  GOTO170
169  A=1 :C=1 
170  IF N=1 GOTO174
172  IF R=1 GOTO471
173  GOTO178
174  IF S<=0 GOTO499
178  GOSUB4500:IF Q=1 GOTO342
179 PRINT"--------PLAYER ";A;"  PLAYS-----------"
180  PRINT"PLAYER";A;"YOUR BANK IS NOW $";S
190  PRINT"PLAYER";A;"WHAT IS YOUR BET $";:INPUTL
191  M=0
192  GOSUB2300:PRINT:IF M=1 GOTO190
195  PRINT:PRINT:PRINT"             **** ROLL THE DICE ****"
196  GOSUB2200
200  FOR J= 1 TO 100
230  PRINT:PRINT:PRINT:PRINT:GOSUB5000
250  IF J=1 THEN 270
260  GOTO280
270  T=D+E
280  FORZ=1TO300:NEXTZ
290  IF J=1 THEN 300
295  IF J>1 THEN 410
300  IF D+E=2 GOTO340
310  IF D+E=3 GOTO340
320  IF D+E= 12 GOTO340
330  GOTO360
340  J=100:PRINT"PLAYER ";A;" YOU LOOSE, YOU ROLLED A ";D+E
341  PRINT:PRINT"YOU LOST $";L,"YOUR BANK IS NOW $";S-L
342  S=S-L:A(9+A)=S:Q=0
343  A=A+1:GOSUB2200
344  C=C+1:GOSUB2100:GOSUB3000
345  IF B>=N GOTO351
347  IF A>N GOTO355
349  IF A<=N GOTO155
351  IF A>N GOTO355
353  IF A<=N GOTO161
355  A=1:C=0:GOTO161
359  GOTO500
360  IF D+E=7 GOTO390
370  IF D+E=11 GOTO390
380  GOTO410
390  J=100:PRINT"** PLAYER ";A;" YOU WON WITH A NATURAL ";D+E;" **"
391  PRINT:PRINT"YOU WIN $";L,"PLAYER #";A;"S BANK IS NOW $";S+L
392  S=S+L:A(9+A)=S
393  GOSUB2200:GOSUB2100
394  GOTO170
400  GOTO500
410  IF D+E=7 GOTO340
420  IF J>1 GOTO440
430  GOTO500
440  IF D+E=T GOTO460
450  GOTO500
460  J=100:PRINT"PLAYER ";A;" MADE YOUR POINT,YOU ROLLED A ";D+E
461  PRINT:PRINT"YOU WON $";L;"PLAYER #";A;"S BANK IS NOW $";S+L
462  S=S+L:A(9+A)=S
463  GOSUB2200:GOSUB2100
470  GOTO170
471  IF U<>1 GOTO479
472  PRINT "DUMMYS YOU ALL BUSTED HA  HA  HA  HA  HA"
473  PRINT "========================================="
474  PRINT:PRINT"       **** THE COMPUTER WON ****"
475  PRINT:PRINT"========================================="
476  GOTO500
479  PRINT"==YOU HAVE WON THE GAME=="
498  GOTO500
499  PRINT" HA  HA  'DUMMY YOU ARE BUSTED' HA  HA  "
500  NEXT J
501  GOSUB2400:GOSUB2500
510  PRINT"IF YOU WISH TO PLAY AGAIN TYPE IN 1, IF NOT TYPE 2"
520  INPUTV:IF V=1 GOTO530
525  GOTO1000
530  GOSUB2500:GOTO100
1000  END
2000  REM *** SETS ARRAY TO 0 ***
2001  FORZ=1TO100:A(Z)=0:NEXTZ
2002  RETURN
2003  END
2100  REM *** CLEARS SCREEN ***
2101  FORZ=1TO9:PRINT:NEXTZ
2102  RETURN
2103  END
2200  REM *** DELAY MEDIUM ***
2201 FORZ=1TO500:NEXTZ
2202  RETURN
2203  END
2300  REM** CANNOT BET MORE THAN YOUR BANK **
2301  IF L>S GOTO2303
2302  GOTO2305
2303 PRINT"''DUMMY, YOU CANNOT BET MORE THAN WHATS IN YOUR BANK''"
2304  GOTO2307
2305  RETURN
2306  END
2307  M=1
2308  RETURN
2309  END
2400  REM **LONG DELAY(10000)***
2401 FORZ=1TO2000:NEXTZ
2402  RETURN
2403  END
2500  REM ** CLEAN PAGE (15)**
2501  FORZ=1TO15:PRINT:NEXTZ
2502  RETURN
2503  END
3000  REM ====THIS SUBROUTINE REVIEWS THE BANK====
3001  R=N
3010  IF N=C GOTO3035
3034  GOTO3070
3035  PRINT:PRINT"       REVIEW OF THE BANK"
3040  FOR G=1 TO N
3045  IF A(9+G)<=0 GOTO3059
3050  PRINT"PLAYER # ";G;" YOUR BANK IS $";A(9+G)
3058  GOTO3060
3059  R=R-1
3060  NEXT G
3061  IF R=0 GOTO3063
3062  GOTO3065
3063  R=1:U=1
3064  IF U=1 GOTO3070
3065  GOSUB 2200
3066  FORZ=1TO6:PRINT:NEXTZ
3070  RETURN
3080  END
4500  REM SUBROUTINE----PLAYER BROKE-----
4501  IF S<=0 GOTO4503
4502  GOTO4506
4503  PRINT"======PLAYER ";A;" YOU ARE BROKE======="
4504  PRINT:PRINT"----------NEXT  PLAYER---------------"
4505  Q=1
4506  RETURN
4507  END
5000  REM ** SUBROUTINE DRAW DICE,ROLL DICE
5010  CLS
5015  D=RND(6)
5020  FORX=10TO30:FORY=10TO20
5030  SET(X,Y):NEXTY:NEXTX
5100  ON D GOTO5200,5210,5220,5230,5240,5250
5200  RESET(20,15):RESET(21,15)
5201  GOTO5260
5210  RESET(20,12):RESET(21,12):RESET(20,18):RESET(21,18)
5211  GOTO5260
5220  RESET(15,12):RESET(16,12):RESET(20,15):RESET(21,15):RESET(25,18)
5221  RESET(26,18)
5222  GOTO5260
5230  RESET(15,12):RESET(16,12):RESET(25,12):RESET(26,12):RESET(15,18)
5231  RESET(16,18):RESET(25,18):RESET(26,18)
5232  GOTO5260
5240  RESET(15,12):RESET(16,12):RESET(25,12):RESET(26,12):RESET(15,18)
5241  RESET(16,18):RESET(20,15):RESET(21,15):RESET(25,18):RESET(26,18)
5242  GOTO5260
5250  RESET(15,12):RESET(16,12):RESET(20,12):RESET(21,12):RESET(25,12)
5251  RESET(26,12):RESET(15,18):RESET(16,18):RESET(20,18):RESET(21,18)
5252  RESET(25,18):RESET(26,18)
5253  GOTO5260
5260  REM:: COMPLETES DRAWING AND ROLLING OF DICE #1
5270  E=RND(6)
5280  FORX=40TO60:FORY=10TO20
5290  SET(X,Y):NEXTY:NEXTX
5300  ON E GOTO5400,5410,5420,5430,5440,5450
5400  RESET(50,15):RESET(51,15)
5401  GOTO5460
5410  RESET(50,12):RESET(51,12):RESET(50,18):RESET(51,18)
5411  GOTO5460
5420  RESET(45,12):RESET(46,12):RESET(50,15):RESET(51,15):RESET(55,18)
5421  RESET(56,18)
5422  GOTO5460
5430  RESET(45,12):RESET(46,12):RESET(55,12):RESET(56,12):RESET(45,18)
5431  RESET(46,18):RESET(55,18):RESET(56,18)
5432  GOTO5460
5440  RESET(45,12):RESET(46,12):RESET(55,12):RESET(56,12):RESET(45,18)
5441  RESET(46,18):RESET(50,15):RESET(51,15):RESET(55,18):RESET(56,18)
5442  GOTO5460
5450  RESET(45,12):RESET(46,12):RESET(50,12):RESET(51,12):RESET(55,12)
5451  RESET(56,12):RESET(45,18):RESET(46,18):RESET(50,18):RESET(51,18)
5452  RESET(55,18):RESET(56,18)
5453  GOTO5460
5460  REM:: DRAWS AND ROLLS DICE #2 ****
5470 PRINT@292,"YOU ROLLED A ";D+E;" ";
5471  IF J=1 GOTO5475
5473  PRINT@420,"YOUR POINT IS ";T
5475 FORZ=1TO750:NEXTZ
5480  CLS
5485  RETURN
5490  END
10000  REM *** HOW MANY PLAYERS, SIZE OF EACH PLAYERS BANK***
10010 INPUT"HOW MANY PLAYERS, 1 THRU 6 CAN  PLAY ";N
10030  IF N>6 THEN 10040
10032  IF N<1 THEN 10040
10034  PRINT:PRINT"ALL PLAYERS START WITH THE SAME SIZE BANK"
10035  INPUT"SIZE OF PLAYERS BANKS";M
10036  GOTO10045
10040  PRINT:PRINT"ONLY 1 TO 6 PLAYERS":GOTO10010
10045  FORI=1TO N
10060  ON I GOTO 10080,10100,10120,10140,10160,10180
10080  A(I)=M
10090  GOTO10200
10100  A(I)=M
10110  GOTO10200
10120  A(I)=M
10130  GOTO10200
10140  A(I)=M
10150  GOTO10200
10160  A(I)=M
10170  GOTO10200
10180  A(I)=M
10190  GOTO10200
10200 CLS
10210  PRINT:GOSUB3000
10250  NEXT I
10290  RETURN
10300  END
