Compucolor.org – Virtual Media

Listing of file='GAMBLE.BAS;01' on disk='vmedia/snakes_and_ladders-sector.ccvf'

30 PLOT 12:PRINT :PRINT :PRINT :PRINT :PRINT :PRINT :PRINT :PRINT
40 PRINT :PRINT :PRINT :PRINT "FLASH..............REMOVE THE PROGRAMME DISC...............FLASH"
50 PRINT :PRINT :PRINT "INSERT THE DATA DISC AND PRESS SPACE BAR WHEN READY TO CONTINUE"
60 IF PEEK (33278)< > 32THEN 60
90 CLEAR 3000
100 GOSUB 1000
120 PRINT :INPUT "          ARE ALL DETAILS ENTERED CORRECTLY ? ( Y/N )";ANS$
130 IF LEFT$ (ANS$,1)= "N"THEN 90
150 FOR R= FBTO NR
160 GOSUB 2000
170 GOSUB 3000
180 GOSUB 4000
185 PRINT :PRINT "                PRESS SPACE BAR TO CONTINUE"
186 IF PEEK (33278)< > 32THEN 186
190 NEXT R
200 REM
220 REM
230 REM
240 REM
250 REM
290 REM
300 REM
400 REM
999 PLOT 27,11:END
1000 REM
1010 REM
1020 REM
1030 REM
1040 REM
1050 REM
1060 REM
1070 REM
1080 REM
1090 REM
1100 REM
1110 PLOT 12,14
1120 REM
1130 INPUT "ENTER THE DAY OF THE WEEK ";DW$
1140 IF LEN (DW$)< 6OR LEN (DW$)> 9THEN PLOT 28,11:GOTO 1130
1160 PRINT :PRINT "ENTER TODAY'S DATE (DAY,MNTH,YR) USE 6 DIGITS WITH NO SPACES"
1170 PRINT :INPUT "E.G. DEC.6TH.1981 WOULD BE 061281 ";DT$
1175 IF LEN (DT$)< > 6THEN PLOT 28,11,28:GOTO 1170
1177 MY= VAL (MID$ (DT$,3,2)):ON MYGOSUB 20001,20002,20003,20004,20005,20006,20007,20008,20009,20010,20011,20012
1180 PRINT :INPUT "ENTER NAME OF RACETRACK FOR TODAY'S MEETING ";TK$
1185 PRINT :INPUT "ENTER RACE DETAILS (NO.OF RACES,FIRST BETTING RACE)";NR,FB
1187 IF NR< 1OR NR> 10THEN PLOT 28,11.28:IF 1185
1190 PRINT :INPUT "ENTER BANK,COLUMN TOTALS ";BANK,CT
1195 PRINT :INPUT "ENTER COLUMN START ";CS
1200 DIM RC$(10,10)
1210 DIM WH$(10,10)
1220 DIM AW(10,10)
1230 DIM PC(10,10)
1240 DIM BANK(10,2)
1250 DIM CT(10,10)
1255 DIM OD(10,12)
1260 FOR R= FBTO NR
1270 FOR C= 1TO 10
1280 CT(R,C)= CT
1290 NEXT C
1300 NEXT R
1310 IF VAL (MID$ (DT$,2,1))= 1THEN PS$= "ST"
1320 IF  VAL (MID$ (DT$,2,1))= 2THEN PS$= "ND"
1330 IF  VAL (MID$ (DT$,2,1))= 3THEN PS$= "RD"
1340 IF  VAL (MID$ (DT$,2,1))> 3THEN PS$= "TH"
1350 NS= 20:IF  VAL (LEFT$ (DT$,2))< 10THEN  NS= 21
1360 AS$= "19"
1370 RETURN
2000 REM
2010 REM
2020 REM
2030 REM
2040 REM
2050 REM
2060 REM
2070 REM
2080 REM
2090 REM
2100 PLOT 12
2110 REM  WAS FOR R=1TO NR
2120 PRINT "HOW MANY SYSTEM HORSES IN RACE"R" ";
2130 INPUT NH
2140 IF NH< 1OR NH> 10THEN PLOT 28:GOTO 2120
2150 NW(R)= NH
2160 FOR Z= 1TO NH
2170 IF Z= 1THEN Z$= "ST"
2180 IF Z= 2THEN Z$= "ND"
2190 IF Z= 3THEN Z$= "RD"
2200 IF Z> 3THEN Z$= "TH"
2210 PRINT "ENTER"Z;Z$" HORSE : NAME,ODDS,";
2220 INPUT SH$(Z),PH(Z)
2230 WH$(R,Z)= SH$(Z)
2240 II= Z+ 64
2250 PLOT 28:PRINT SPC( 64):PLOT 13,28,28:PRINT SH$(Z)" = "CHR$ (II)" ="PH(Z)" TO 1"
2260 NEXT Z
2270 INPUT "ARE ALL DETAILS C0RRECTLY ENTERED ? (Y/N) ";ANS$
2280 IF LEFT$ (ANS$,1)= "N"THEN PLOT 11,28,11,28,11:GOTO 2300
2290 GOTO 2320
2300 FOR I= 1TO NW(R):PLOT 28,11:NEXT I
2310 GOTO 2120
2320 PLOT 13,28:PRINT SPC( 64):PLOT 28,28
2330 FOR C= 1TO 10
2340 PRINT "ENTER THE SYMBOL FOR THE HORSE IN RACE"R" COLUMN"C"";
2350 INPUT SY$
2360 RC$(R,C)= SH$(ASC (SY$)- 64):PC(R,C)= PH(ASC (SY$)- 64)
2370 LS= LEN (RC$(R,C))
2380 IF C= 10THEN 2400
2390 PLOT 28,11:PRINT "RACE"R" COLUMN"C" => "SPC( (22- LS)/ 2)RC$(R,C)""SPC( ((22- LS)/ 2)+ .5)PC(R,C)" TO 1":GOTO 2410
2400 PLOT 28,11:PRINT "RACE"R" COLUMN"C"=> "SPC( (22- LS)/ 2)RC$(R,C)""SPC( ((22- LS)/ 2)+ .5)PC(R,C)" TO 1":GOTO 2410
2410 NEXT C
2415 PRINT :INPUT "ARE COLUMN DETAILS ALL CORRECT ? ( Y/N ) ";ANS$
2420 IF LEFT$ (ANS$,1)= "N"THEN 2424
2422 GOTO 2430
2424 FOR I= 1TO 12:PLOT 11,28:NEXT I:GOTO 2330
2430 RETURN
3000 REM
3010 REM
3020 PLOT 12,27,24,30,20,29,23:PRINT SPC( 2)DW$SPC( 30- LEN (DW$)- (LEN (TK$)/ 2))TK$SPC( ((NS- LEN (TK$)/ 2)+ .5)- LEN (MY$));
3021 PRINT MY$VAL (LEFT$ (DT$,2))PS$SPC( 1)AS$RIGHT$ (DT$,2)SPC( 2):PLOT 30,16,29,18
3022 ON RGOSUB 21081,21082,21083,21084,21085,21086,21087,21088,21089,21090
3030 REM
3040 REM
3050 REM
3060 REM
3070 CC= BANK/ 750:IF CS< CCTHEN CS= INT (CC* 10)/ 10
3080 CI= CS/ 4
3090 REM
3100 FOR C= 1TO 10
3110 AW(R,C)= CT(R,C)/ PC(R,C)
3120 IF AW(R,C)- INT (AW(R,C))= 0THEN AW(R,C)= AW(R,C)
3130 IF AW(R,C)- INT (AW(R,C))> 0AND AW(R,C)- INT (AW(R,C))< .5THEN AW(R,C)= INT (AW(R,C))+ .5
3140 IF AW(R,C)- INT (AW(R,C))> .5THEN AW(R,C)= INT (AW(R,C))+ 1
3150 NEXT
3160 FOR I= 1TO 10
3170 BET(I)= 0
3180 FOR X= 1TO NW(R)
3190 FOR C= 1TO 10
3200 IF WH$(R,X)= RC$(R,C)THEN BET(X)= BET(X)+ AW(R,C)
3210 NEXT C
3220 NEXT X
3225 PRINT
3230 FOR PO= 1TO NW(R)
3240 PRINT ""SPC( 7)WH$(R,PO)SPC( 23- LEN (WH$(R,PO)))"$"BET(PO),,""BET(PO)* 2" UNITS"
3250 NEXT
3262 TW(R)= 0
3270 FOR I= 1TO NW(R)
3280 TW(R)= TW(R)+ BET(I)
3290 NEXT I
3300 BANK(R,0)= BANK
3310 BANK(R,1)= BANK- TW(R)
3315 PRINT "BANK =$"BANK(R,1)
3317 PRINT SPC( 24):PLOT 28:PRINT "TOTAL $";TW(R)""
3320 CC= BANK/ 750:IF CS< CCTHEN CS= INT (CC* 10)/ 10
3330 CI= CS/ 4
3340 RETURN
4000 REM
4010 REM
4020 REM
4030 REM
4040 REM
4050 REM
4060 REM
4070 REM
4080 REM
4090 REM
4100 PRINT :INPUT "       WINNER...........";MH$(R)
4102 FOR W= 1TO NW(R)
4104 IF MH$(R)= WH$(R,W)THEN PRINT SPC( 24+ LEN (MH$(R))):PLOT 28:INPUT "..............DIV = $";DIV(R):GOTO 4108
4106 NEXT W
4108 RET(R)= BET(W)* 2* DIV(R)
4110 BANK(R,2)= BANK(R,1)+ RET(R)
4115 BANK= BANK(R,2)
4120 FOR C= 1TO 10
4130 IF MH$(R)= RC$(R,C)THEN CT(R+ 1,C)= CS
4140 IF MH$(R)< > RC$(R,C)THEN CT(R+ 1,C)= CT(R,C)+ AW(R,C)+ CI
4150 NEXT
4155 PRINT
4160 PL(R)= 0- TW(R)+ RET(R)
4165 PRINT SPC( 16)"RETURN ON THIS RACE = $"RET(R)
4170 IF SGN (PL(R))= 0THEN 4210
4180 IF SGN (PL(R))= - 1THEN 4220
4190 IF SGN (PL(R))= 1THEN 4230
4210 PRINT SPC( 16)"BREAK EVEN ON THIS RACE":GOTO 4240
4220 PRINT SPC( 16)"LOSS ON THIS RACE = $"ABS (PL(R)):GOTO  4240
4230 PRINT SPC( 16)"PROFIT ON THIS RACE = $"PL(R)
4240 PL= BANK- BANK(1,0)
4250 IF SGN (PL)= 0THEN 4280
4260 IF SGN (PL)= - 1THEN 4290
4270 IF SGN (PL)= 1THEN 4300
4280 PRINT SPC( 16)"BREAK EVEN ON THE DAY":GOTO 4310
4290 PRINT SPC( 16)"LOSS FOR THE DAY  = $"ABS (PL):GOTO 4310
4300 PRINT SPC( 16)"PROFIT FOR THE DAY  = $"PL
4310 IF R< NRTHEN PRINT "BANK =$"BANK(R,2):GOTO 4400
4320 CA= 0:FOR I= 1TO 10:CA= CA+ CT(R,I):NEXT
4330 X= CA/ 10- INT (CA/ 10)
4340 IF X= 0THEN CT= CA/ 10:GOTO 4380
4350 FOR D= .1TO .9STEP .1
4360 IF X< DTHEN CT= INT (CA/ 10)+ D:GOTO 4380
4370 NEXT D
4380 PRINT :PRINT "BANK = $"BANK(R,2),,"CT =$"CT,,"CS =$"CS
4400 PLOT 27,4:PRINT "SAVE"DT$".DSP 7000 1000":PLOT 27,27
4500 RETURN
10000 REM
10010 REM
10020 REM
10030 REM
10040 REM
10050 REM
10060 REM
10070 REM
10080 REM
10090 REM
11001 R= 1:GOTO 11020
11002 R= 2:GOTO 11020
11003 R= 3:GOTO 11020
11004 R= 4:GOTO 11020
11005 R= 5:GOTO 11020
11006 R= 6:GOTO 11020
11007 R= 7:GOTO 11020
11008 R= 8:GOTO 11020
11009 R= 9:GOTO 11020
11010 R= 10:GOTO 11020
11020 IF  SF= 3.14 THEN  PRINT :GOTO  11030
11025 PLOT 12:PRINT :PRINT :PRINT :PRINT
11030 FOR C= 1TO 10
11040 LS= LEN (RC$(R,C))
11050 IF C= 10THEN 11070
11060 PRINT "       RACE"R" COLUMN"C" => "SPC( (22- LS)/ 2)RC$(R,C)""SPC( ((22- LS)/ 2)+ .5)PC(R,C)" TO 1":GOTO 11080
11070 PRINT "       RACE"R" COLUMN"C"=> "SPC( (22- LS+/ 2)RC$(R,C)""SPC( ((22/ LS)/ 2)+ .5)PC(R,C)" TO 1":PRINT
11080 NEXT C
11085 IF SF= 3.14THEN 11120
11090 PRINT :PRINT :PRINT :PRINT "              PRESS SPACE BAR TO RETURN TO MENU"
11100 IF PEEK (33278)< > 32THEN 11100
11110 GOTO 220
11120 SF= 0:RETURN
20001 MY$= "JANUARY":RETURN
20002 MY$= "FEBRUARY":RETURN
20003 MU$= "MARCH":RETURN
20004 MY$= "APRIL":RETURN
20005 MY$= "MAY":RETURN
20006 MY$= "JUNE":RETURN
20007 MY$= "JULY":RETURN
20008 MY$= "AUGUST":RETURN
20009 MY$= "SEPVEMBER":RETURN
20010 MY$= "OCTOBER":RETURN
20011 MY$= "NOVEMBER":RETURN
20012 MY$= "DECEMBER":RETURN
21000 REM
21010 REM
21020 REM N
21030 REM
21040 REM
21050 REM
21060 REM
21070 REM
21080 REM
21081 R= 1:GOTO 21100
21082 R= 2:GOTO 21100
21083 R= 3:GOTO 21100
21084 R= 4:GOTO 21100
21085 R= 5:GOTO 21100
21086 R= 6:GOTO 21100
21087 R= 7:GOTO 21100
21088 R= 8:GOTO 21100
21089 R= 9:GOTO 21100
21090 R= 10:GOTO 21100
21100 PLOT 28,30,20,29,23:PRINT SPC( 29)"RACE"RSPC( 29):PLOT 28:PRINT "BANK = $"BANK
21110 PLOT 30,16,29,18:PRINT SPC( 22):PLOT 28:PRINT "n1n2n3n4n5n6n7n8n9nAn"
21120 FOR I= 1TO NW(R)
21130 PRINT ""WH$(R,I)"";:FOR  P= 1TO (22- LEN (WH$(R,I))):PRINT ".";:NEXT P
21140 FOR C= 1TO 10
21150 IF WH$(R,I)= RC$(R,C)THEN OD(R,I)= PC(R,C):PRINT "nX";:GOTO 21170
21160 PRINT "n.";
21170 IF C= 10THEN PRINT "n..........";OD(R,I)" TO 1"
21180 NEXT C
21190 NEXT I
21200 RETURN
22000 REM
22010 REM
22020 REM
22030 REM
22040 REM
22050 REM
22060 REM
22070 REM
22080 REM
22090 REM
22100 PLOT 12:PRINT "                         MENU SELECTION                         "
22110 PRINT "               YOU MAY SELECT FROM THE FOLLOWING "
22120 PRINT :PRINT "( 1 - 10 )   PRINTOUT OF CORRESPONDING RACE NUMBER"
22130 PRINT :PRINT "( 11 )        GO TO CALCULATION OF WAGERS"
22140 PRINT :PRINT :INPUT "WHICH ? ";MS
22150 ON MSGOTO 11001,11002,11003,11004,11005,11006,11007,11008,11009,11010,300