View.Set ("graphics:max,max") var rollcount : array 1 .. 6 of int := init (0, 0, 0, 0, 0, 0) var die : int 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) var font : int := Font.New ("Times New Roman:24:bold") var font2 : int := Font.New ("Times New Roman:36:bold") var dash: int := Pic.FileNew ("dash.jpg") var mario : int := Pic.FileNew ("mario.jpg") var yoshi : int := Pic.FileNew ("yoshi.jpg") var beast : int := Pic.FileNew ("beast.jpg") var epona: int := Pic.FileNew ("epona.jpg") var sonic : int := Pic.FileNew ("sonic.jpg") var roadrunner : int := Pic.FileNew ("roadrunner.jpg") var win : int:=0 var winner: string := "" %MUSIC process playmusic Music.PlayFile ("countdown.mp3") end playmusic %RACERS proc loadracer (var racer : array 1 .. 6 of int) for i : 1 .. upper (racer) racer (i) := Pic.FileNew ("racer" + intstr (i) + ".jpg") end for end loadracer var racer : array 1 .. 6 of int fork playmusic %INTRO drawfillbox (0,0,maxx,maxy,grey) Font.Draw ("Dash",260,350,font2,black) Font.Draw ("Racer #1",260,300,font2,black) Pic.Draw (dash, 480,150, picCopy) delay(2500) cls drawfillbox (0,0,maxx,maxy,grey) Font.Draw ("Mario And",390,350,font2,black) Font.Draw ("Yoshi",420,300,font2,black) Font.Draw ("Racer #2",410,250,font2,black) Pic.Draw (mario, 100,200, picCopy) Pic.Draw (yoshi, 650,200, picCopy) delay(2500) cls drawfillbox (0,0,maxx,maxy,grey) Font.Draw ("Beast",500,350,font2,black) Font.Draw ("Racer #3",500,300,font2,black) Pic.Draw (beast, 300,150, picCopy) delay(2500) cls drawfillbox (0,0,maxx,maxy,grey) Font.Draw ("Sonic",250,350,font2,black) Font.Draw ("Racer #4",250,300,font2,black) Pic.Draw (sonic, 480,150, picCopy) delay(2500) cls drawfillbox (0,0,maxx,maxy,grey) Pic.Draw (epona, 0,150, picCopy) Font.Draw ("Link And",600,350,font2,black) Font.Draw ("Epona",600,315,font2,black) Font.Draw ("Racer #5",600,280,font2,black) delay(2500) cls drawfillbox (0,0,maxx,maxy,grey) Font.Draw ("The Roadrunner",100,350,font2,black) Font.Draw ("Racer #6",100,300,font2,black) Pic.Draw (roadrunner, 480,150, picCopy) delay(2500) cls %BETTING 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 var racers : array 1 .. 6 of int put "Name", " ", "Money Won", " ", "Bet Amount (Up to 1000)", " ", "Racer(1-6)" names (name) amount (amounts) spend (spends) bet (bets) %THE RACE loadracer (racer) randomize drawline (1000, 0, 1000, maxy, black) drawfillbox (0, 0, maxx, maxy, green) setscreen ("offscreenonly") loop delay (1) randint (die, 1, 6) rollcount (die) := rollcount (die) + 1 drawfillbox (rollcount (die) - 1, die * 105 - 100, rollcount (die) + 10, die * 105, green) Font.Draw ("FINISH",900,640,font,black) drawline (950,630,950,0,black) Pic.Draw (racer (die), rollcount (die), die * 105 - 100, picCopy) Font.Draw (intstr (die), 10, die * 110 - 100, font, 7) View.Update exit when rollcount (die) >= 850 end loop cls win := racer(die) - 7009 if win = 1 then winner := "Dash" elsif win = 2 then winner := "Mario And Yoshi" elsif win = 3 then winner := "Beast" elsif win = 4 then winner := "Sonic" elsif win = 5 then winner := "Link And Epona" elsif win = 6 then winner := "The Roadrunner" end if Font.Draw (winner,300,350,font2,5) Font.Draw ("wins!!", 350,300,font2,5) View.Update %END RACE 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 %RACE RESULTS View.Update cls put "Name", " ", "Money Won", " ", "Bet Amount", " ", "Racer" 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