View.Set ("graphics:max,max")
var rollcount : array 1 .. 6 of int := init (0, 0, 0, 0, 0, 0)
var font : int := Font.New ("sans serif:18:bold")
var die : int
var mx, my, mb : int
var spot : int := 0
var name : array 1 .. 6 of string
var bets : array 1 .. 6 of int
var spends : array 1 .. 6 of int
var amounts : array 1 .. 6 of int := init (1000, 1000, 1000, 1000, 1000, 1000)
process playmusic
Music.PlayFile ("rocky.mp3")
end playmusic
fork playmusic
proc loadhorses (var horses : array 1 .. 6 of int)
for i : 1 .. upper (horses)
horses (i) := Pic.FileNew ("horse" + intstr (i) + ".jpg")
end for
end loadhorses
proc names (var name : array 1 .. 6 of string)
for i : 1 .. upper (name)
get name (i)
end for
end names
proc bet (var bets : array 1 .. 6 of int)
for i : 1 .. upper (bets)
locate (1 + i, 59)
get bets (i)
end for
end bet
proc amount (var amounts : array 1 .. 6 of int)
for i : 1 .. upper (amounts)
end for
end amount
proc spend (var spends : array 1 .. 6 of int)
for i : 1 .. upper (spends)
locate (1 + i, 37)
get spends (i)
end for
end spend
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%main line
loop
var horses : array 1 .. 6 of int
put "name", " ", "cash amount", " ", "bet amount", " ", "horse betting on"
names (name)
amount (amounts)
spend (spends)
bet (bets)
randomize
loadhorses (horses)
drawfillbox (0, 0, maxx, maxy, green)
drawline (900, 0, 900, 620, black)
drawline (899, 0, 899, 620, black)
drawline (898, 0, 898, 620, black)
drawline (700, 0, 700, 0, brown)
loop
mousewhere (mx, my, mb)
if mb = 1 then
spot := my div 80
end if
if mb = 1 and spot <= 6 and my < 500 then
rollcount (spot) += 1
end if
delay (4)
randint (die, 1, 6)
rollcount (die) := rollcount (die) + 1
Pic.Draw (horses (die), rollcount (die), die * 80, picCopy)
drawfillbox (0, die * 80, rollcount (die), die * 80 + 50, white)
Font.Draw ("finish", 870, 625, font, black)
Font.Draw (intstr (die), 10, die * 80, font, black)
exit when rollcount (die) >= 850
end loop
Font.Draw ("horse " + intstr (die) + " is the winner!", 400, 350, font, black)
delay (600)
cls
for i : 1 .. 6
amounts (i) := amounts (i) - spends (i)
if bets (i) = die then
amounts (i) := amounts (i) + spends (i) * 2
end if
end for
put "name", " ", "cash amount", " ", "bet amount", " ", "horse betting on"
for i : 1 .. 6
locate (1 + i, 1)
put name (i)
locate (1 + i, 16)
put amounts (i)
locate (1 + i, 37)
put spends (i)
locate (1 + i, 59)
put bets (i)
end for
end loop
%Music.PlayFileStop