mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 09:40:21 +00:00
* Improve Turing sample * Move more complex sample to different file * Undo changes to original file
663 lines
17 KiB
Turing
663 lines
17 KiB
Turing
%This is a comment
|
|
var x : array 0 .. 100 of int
|
|
var rangeX, rangeY, loopFor : int := 0
|
|
setscreen ("graphics:696;400,nobuttonbar")
|
|
setscreen ("nocursor")
|
|
setscreen ("noecho")
|
|
var colourP : string := "Yellow"
|
|
var title : int := Font.New ("Algerian:60")
|
|
var subtitle : int := Font.New ("Algerian:20")
|
|
var xValue, yValue, font1, font2, instructionsTitle : int
|
|
var scoreR, scoreY, button : int := 0
|
|
var scoreRS, scoreYS, PreventFor : string
|
|
var win : string := "N"
|
|
var full, samePlayer : boolean := false
|
|
font1 := Font.New ("Algerian:20")
|
|
font2 := Font.New ("TimesNewRoman:15")
|
|
instructionsTitle := Font.New ("Algerian:35")
|
|
var shouldPlay : boolean := true
|
|
forward proc game
|
|
for i : 0 .. 100
|
|
x (i) := 0
|
|
end for
|
|
proc pauseProgram
|
|
var reply : string (1)
|
|
getch (reply)
|
|
end pauseProgram
|
|
process backgroundMusic
|
|
loop
|
|
exit when shouldPlay = false
|
|
Music.PlayFile ("music.MP3")
|
|
end loop
|
|
end backgroundMusic
|
|
proc winner
|
|
cls
|
|
win := "N"
|
|
for i : 1 .. 100
|
|
x (i) := 0
|
|
end for
|
|
drawfillbox (0, 0, 696, 400, black)
|
|
scoreRS := "Red Wins: " + intstr (scoreR)
|
|
scoreYS := "Yellow Wins: " + intstr (scoreY)
|
|
Font.Draw ("", 190, 320, title, 48)
|
|
Font.Draw (scoreRS, 0, 250, font1, 52)
|
|
Font.Draw (scoreYS, 0, 220, font1, 52)
|
|
Font.Draw ("Press any Key to continue.", 180, 100, subtitle, 12)
|
|
pauseProgram
|
|
game
|
|
end winner
|
|
body proc game
|
|
for i : 1 .. 100
|
|
x (i) := 0
|
|
end for
|
|
cls
|
|
drawfillbox (0, 0, 700, 400, black)%Grid
|
|
Draw.ThickLine (0, 400, 0, 0, 5, 48)
|
|
Draw.ThickLine (696, 400, 696, 0, 5, 48)
|
|
Draw.ThickLine (3, 0, 696, 0, 5, 48)
|
|
Draw.ThickLine (696, 0, 696, 70, 5, 48)
|
|
Draw.ThickLine (610, 70, 87, 70, 5, 48)
|
|
Draw.ThickLine (87, 70, 87, 400, 5, 48)
|
|
Draw.ThickLine (87, 400, 0, 400, 5, 48)
|
|
Draw.ThickLine (173, 70, 173, 400, 5, 48)
|
|
Draw.ThickLine (260, 70, 260, 400, 5, 48)
|
|
Draw.ThickLine (347, 70, 347, 400, 5, 48)
|
|
Draw.ThickLine (435, 70, 435, 400, 5, 48)
|
|
Draw.ThickLine (521, 70, 521, 400, 5, 48)
|
|
Draw.ThickLine (609, 70, 609, 400, 5, 48)
|
|
Draw.ThickLine (0, 70, 87, 70, 2, 11) %NEW!
|
|
Draw.ThickLine (0, 120, 87, 120, 2, 11)
|
|
Draw.ThickLine (0, 170, 87, 170, 2, 11)
|
|
Draw.ThickLine (0, 220, 87, 220, 2, 11)
|
|
Draw.ThickLine (0, 270, 87, 270, 2, 11)
|
|
Draw.ThickLine (0, 320, 87, 320, 2, 11)
|
|
Draw.ThickLine (0, 370, 87, 370, 2, 11)
|
|
Draw.ThickLine (609, 70, 696, 70, 2, 11) %Part 2
|
|
Draw.ThickLine (609, 120, 696, 120, 2, 11)
|
|
Draw.ThickLine (609, 170, 696, 170, 2, 11)
|
|
Draw.ThickLine (609, 220, 696, 220, 2, 11)
|
|
Draw.ThickLine (609, 270, 696, 270, 2, 11)
|
|
Draw.ThickLine (609, 320, 696, 320, 2, 11)
|
|
Draw.ThickLine (609, 370, 696, 370, 2, 11)
|
|
loop
|
|
if colourP = "Yellow" then
|
|
if button = 1 then
|
|
if (rangeX >= 87 and rangeX <= 173) then
|
|
%Drop on right corner (now verifies height)
|
|
if x (1) = 0 then
|
|
x (1) := 1
|
|
loopFor := 300
|
|
elsif x (2) = 0 then
|
|
x (2) := 1
|
|
loopFor := 250
|
|
elsif x (3) = 0 then
|
|
x (3) := 1
|
|
loopFor := 200
|
|
elsif x (4) = 0 then
|
|
x (4) := 1
|
|
loopFor := 150
|
|
elsif x (5) = 0 then
|
|
x (5) := 1
|
|
loopFor := 100
|
|
elsif x (6) = 0 then
|
|
x (6) := 1
|
|
loopFor := 50
|
|
else
|
|
full := true
|
|
samePlayer := true
|
|
end if
|
|
if full = true then
|
|
full := false
|
|
else
|
|
for i : 1 .. loopFor
|
|
drawfilloval (135, 401 - i, 25, 25, black)
|
|
drawfilloval (135, 400 - i, 25, 25, yellow)
|
|
delay (1)
|
|
end for
|
|
end if
|
|
elsif (rangeX >= 174 and rangeX <= 260) then
|
|
if x (7) = 0 then %Drop on right corner (now verifies height)
|
|
x (7) := 1
|
|
loopFor := 300
|
|
elsif x (8) = 0 then
|
|
x (8) := 1
|
|
loopFor := 250
|
|
elsif x (9) = 0 then
|
|
x (9) := 1
|
|
loopFor := 200
|
|
elsif x (10) = 0 then
|
|
x (10) := 1
|
|
loopFor := 150
|
|
elsif x (11) = 0 then
|
|
x (11) := 1
|
|
loopFor := 100
|
|
elsif x (12) = 0 then
|
|
x (12) := 1
|
|
loopFor := 50
|
|
else
|
|
full := true
|
|
samePlayer := true
|
|
end if
|
|
if full = true then
|
|
full := false
|
|
else
|
|
for i : 1 .. loopFor
|
|
drawfilloval (222, 401 - i, 25, 25, black)
|
|
drawfilloval (222, 400 - i, 25, 25, yellow)
|
|
delay (1)
|
|
end for
|
|
end if
|
|
elsif (rangeX >= 261 and rangeX <= 347) then
|
|
if x (13) = 0 then%Drop on right corner (now verifies height)
|
|
x (13) := 1
|
|
loopFor := 300
|
|
elsif x (14) = 0 then
|
|
x (14) := 1
|
|
loopFor := 250
|
|
elsif x (15) = 0 then
|
|
x (15) := 1
|
|
loopFor := 200
|
|
elsif x (16) = 0 then
|
|
x (16) := 1
|
|
loopFor := 150
|
|
elsif x (17) = 0 then
|
|
x (17) := 1
|
|
loopFor := 100
|
|
elsif x (18) = 0 then
|
|
x (18) := 1
|
|
loopFor := 50
|
|
else
|
|
full := true
|
|
end if
|
|
if full = true then
|
|
full := false
|
|
samePlayer := true
|
|
else
|
|
for i : 1 .. loopFor
|
|
drawfilloval (309, 401 - i, 25, 25, black)
|
|
drawfilloval (309, 400 - i, 25, 25, yellow)
|
|
delay (1)
|
|
end for
|
|
end if
|
|
elsif (rangeX >= 348 and rangeX <= 434) then
|
|
if x (19) = 0 then %Drop on right corner (now verifies height)
|
|
x (19) := 1
|
|
loopFor := 300
|
|
elsif x (20) = 0 then
|
|
x (20) := 1
|
|
loopFor := 250
|
|
elsif x (21) = 0 then
|
|
x (21) := 1
|
|
loopFor := 200
|
|
elsif x (22) = 0 then
|
|
x (22) := 1
|
|
loopFor := 150
|
|
elsif x (23) = 0 then
|
|
x (23) := 1
|
|
loopFor := 100
|
|
elsif x (24) = 0 then
|
|
x (24) := 1
|
|
loopFor := 50
|
|
else
|
|
full := true
|
|
samePlayer := true
|
|
end if
|
|
if full = true then
|
|
full := false
|
|
else
|
|
for i : 1 .. loopFor
|
|
drawfilloval (396, 401 - i, 25, 25, black)
|
|
drawfilloval (396, 400 - i, 25, 25, yellow)
|
|
delay (1)
|
|
end for
|
|
end if
|
|
elsif (rangeX >= 435 and rangeX <= 521) then
|
|
if x (25) = 0 then %Drop on right corner (now verifies height)
|
|
x (25) := 1
|
|
loopFor := 300
|
|
elsif x (26) = 0 then
|
|
x (26) := 1
|
|
loopFor := 250
|
|
elsif x (27) = 0 then
|
|
x (27) := 1
|
|
loopFor := 200
|
|
elsif x (28) = 0 then
|
|
x (28) := 1
|
|
loopFor := 150
|
|
elsif x (29) = 0 then
|
|
x (29) := 1
|
|
loopFor := 100
|
|
elsif x (30) = 0 then
|
|
x (30) := 1
|
|
loopFor := 50
|
|
else
|
|
full := true
|
|
samePlayer := true
|
|
end if
|
|
if full = true then
|
|
full := false
|
|
else
|
|
for i : 1 .. loopFor
|
|
drawfilloval (483, 401 - i, 25, 25, black)
|
|
drawfilloval (483, 400 - i, 25, 25, yellow)
|
|
delay (1)
|
|
end for
|
|
end if
|
|
elsif (rangeX >= 522 and rangeX <= 609) then
|
|
if x (31) = 0 then %Drop on right corner (now verifies height)
|
|
x (31) := 1
|
|
loopFor := 300
|
|
elsif x (32) = 0 then
|
|
x (32) := 1
|
|
loopFor := 250
|
|
elsif x (33) = 0 then
|
|
x (33) := 1
|
|
loopFor := 200
|
|
elsif x (34) = 0 then
|
|
x (34) := 1
|
|
loopFor := 150
|
|
elsif x (35) = 0 then
|
|
x (35) := 1
|
|
loopFor := 100
|
|
elsif x (36) = 0 then
|
|
x (36) := 1
|
|
loopFor := 50
|
|
else
|
|
full := true
|
|
samePlayer := true
|
|
end if
|
|
if full = true then
|
|
full := false
|
|
else
|
|
for i : 1 .. loopFor
|
|
drawfilloval (570, 401 - i, 25, 25, black)
|
|
drawfilloval (570, 400 - i, 25, 25, yellow)
|
|
delay (1)
|
|
end for
|
|
end if
|
|
end if
|
|
if samePlayer = true then
|
|
samePlayer := false
|
|
else
|
|
colourP := "Red"
|
|
end if
|
|
end if
|
|
else
|
|
if button = 1 then
|
|
if (rangeX >= 87 and rangeX <= 173) then
|
|
if x (1) = 0 then %Drop on right corner (now verifies height)
|
|
x (1) := 2
|
|
loopFor := 300
|
|
elsif x (2) = 0 then
|
|
x (2) := 2
|
|
loopFor := 250
|
|
elsif x (3) = 0 then
|
|
x (3) := 2
|
|
loopFor := 200
|
|
elsif x (4) = 0 then
|
|
x (4) := 2
|
|
loopFor := 150
|
|
elsif x (5) = 0 then
|
|
x (5) := 2
|
|
loopFor := 100
|
|
elsif x (6) = 0 then
|
|
x (6) := 2
|
|
loopFor := 50
|
|
else
|
|
full := true
|
|
samePlayer := true
|
|
end if
|
|
if full = true then
|
|
full := false
|
|
else
|
|
for i : 1 .. loopFor
|
|
drawfilloval (135, 401 - i, 25, 25, black)
|
|
drawfilloval (135, 400 - i, 25, 25, 12)
|
|
delay (1)
|
|
end for
|
|
end if
|
|
elsif (rangeX >= 174 and rangeX <= 260) then
|
|
if x (7) = 0 then %Drop on right corner (now verifies height)
|
|
x (7) := 2
|
|
loopFor := 300
|
|
elsif x (8) = 0 then
|
|
x (8) := 2
|
|
loopFor := 250
|
|
elsif x (9) = 0 then
|
|
x (9) := 2
|
|
loopFor := 200
|
|
elsif x (10) = 0 then
|
|
x (10) := 2
|
|
loopFor := 150
|
|
elsif x (11) = 0 then
|
|
x (11) := 2
|
|
loopFor := 100
|
|
elsif x (12) = 0 then
|
|
x (12) := 2
|
|
loopFor := 50
|
|
else
|
|
full := true
|
|
samePlayer := true
|
|
end if
|
|
if full = true then
|
|
full := false
|
|
else
|
|
for i : 1 .. loopFor
|
|
drawfilloval (222, 401 - i, 25, 25, black)
|
|
drawfilloval (222, 400 - i, 25, 25, 12)
|
|
delay (1)
|
|
end for
|
|
end if
|
|
elsif (rangeX >= 261 and rangeX <= 347) then
|
|
if x (13) = 0 then %Drop on right corner (now verifies height)
|
|
x (13) := 2
|
|
loopFor := 300
|
|
elsif x (14) = 0 then
|
|
x (14) := 2
|
|
loopFor := 250
|
|
elsif x (15) = 0 then
|
|
x (15) := 2
|
|
loopFor := 200
|
|
elsif x (16) = 0 then
|
|
x (16) := 2
|
|
loopFor := 150
|
|
elsif x (17) = 0 then
|
|
x (17) := 2
|
|
loopFor := 100
|
|
elsif x (18) = 0 then
|
|
x (18) := 2
|
|
loopFor := 50
|
|
else
|
|
full := true
|
|
samePlayer := true
|
|
end if
|
|
if full = true then
|
|
samePlayer := true
|
|
else
|
|
for i : 1 .. loopFor
|
|
drawfilloval (309, 401 - i, 25, 25, black)
|
|
drawfilloval (309, 400 - i, 25, 25, 12)
|
|
delay (1)
|
|
end for
|
|
end if
|
|
elsif (rangeX >= 348 and rangeX <= 434) then
|
|
%Drop on right corner (now verifies height)
|
|
if x (19) = 0 then
|
|
x (19) := 2
|
|
loopFor := 300
|
|
elsif x (20) = 0 then
|
|
x (20) := 2
|
|
loopFor := 250
|
|
elsif x (21) = 0 then
|
|
x (21) := 2
|
|
loopFor := 200
|
|
elsif x (22) = 0 then
|
|
x (22) := 2
|
|
loopFor := 150
|
|
elsif x (23) = 0 then
|
|
x (23) := 2
|
|
loopFor := 100
|
|
elsif x (24) = 0 then
|
|
x (24) := 2
|
|
loopFor := 50
|
|
else
|
|
full := true
|
|
samePlayer := true
|
|
end if
|
|
if full = true then
|
|
full := false
|
|
else
|
|
for i : 1 .. loopFor
|
|
drawfilloval (396, 401 - i, 25, 25, black)
|
|
drawfilloval (396, 400 - i, 25, 25, 12)
|
|
delay (1)
|
|
end for
|
|
end if
|
|
elsif (rangeX >= 435 and rangeX <= 521) then
|
|
%Drop on right corner (now verifies height)
|
|
if x (25) = 0 then
|
|
x (25) := 2
|
|
loopFor := 300
|
|
elsif x (26) = 0 then
|
|
x (26) := 2
|
|
loopFor := 250
|
|
elsif x (27) = 0 then
|
|
x (27) := 2
|
|
loopFor := 200
|
|
elsif x (28) = 0 then
|
|
x (28) := 2
|
|
loopFor := 150
|
|
elsif x (29) = 0 then
|
|
x (29) := 2
|
|
loopFor := 100
|
|
elsif x (30) = 0 then
|
|
x (30) := 2
|
|
loopFor := 50
|
|
else
|
|
full := true
|
|
samePlayer := true
|
|
end if
|
|
if full = true then
|
|
full := false
|
|
else
|
|
for i : 1 .. loopFor
|
|
drawfilloval (483, 401 - i, 25, 25, black)
|
|
drawfilloval (483, 400 - i, 25, 25, 12)
|
|
delay (1)
|
|
end for
|
|
end if
|
|
elsif (rangeX >= 522 and rangeX <= 609) then
|
|
%Drop on right corner (now verifies height)
|
|
if x (31) = 0 then
|
|
x (31) := 2
|
|
loopFor := 300
|
|
elsif x (32) = 0 then
|
|
x (32) := 2
|
|
loopFor := 250
|
|
elsif x (33) = 0 then
|
|
x (33) := 2
|
|
loopFor := 200
|
|
elsif x (34) = 0 then
|
|
x (34) := 2
|
|
loopFor := 150
|
|
elsif x (35) = 0 then
|
|
x (35) := 2
|
|
loopFor := 100
|
|
elsif x (36) = 0 then
|
|
x (36) := 2
|
|
loopFor := 50
|
|
else
|
|
full := true
|
|
samePlayer := true
|
|
end if
|
|
if full = true then
|
|
full := false
|
|
else
|
|
for i : 1 .. loopFor
|
|
drawfilloval (570, 401 - i, 25, 25, black)
|
|
drawfilloval (570, 400 - i, 25, 25, 12)
|
|
delay (1)
|
|
end for
|
|
end if
|
|
end if
|
|
if samePlayer then
|
|
samePlayer := false
|
|
else
|
|
colourP := "Yellow"
|
|
end if
|
|
|
|
end if
|
|
end if
|
|
mousewhere (rangeX, rangeY, button)
|
|
%Detect Winner - Horizontal Verification
|
|
for i : 1 .. 18
|
|
if (x (i) = x (i + 6) and x (i) = x (i + 12) and x (i) = x (i + 18) and x (i) = 1) then
|
|
scoreY := scoreY + 1
|
|
win := "Y" %Red
|
|
elsif x (i) = x (i + 6) and x (i) = x (i + 12) and x (i) = x (i + 18) and x (i) = 2 then
|
|
scoreR := scoreR + 1
|
|
win := "Y"
|
|
if i > 6 then
|
|
if x (i - 6) = x (i) and x (i) = x (i + 6) and x (i) = x (i + 12) and x (i) = 2 then
|
|
scoreR := scoreR + 1 %Yellow
|
|
win := "Y"
|
|
elsif x (i - 6) = x (i) and x (i) = x (i + 6) and x (i) = x (i + 12) and x (i) = 1 then
|
|
scoreY := scoreY + 1 %Yellow
|
|
win := "Y"
|
|
end if
|
|
end if
|
|
end if
|
|
end for
|
|
%Verticle Detection
|
|
for i : 1 .. 36 by 6
|
|
if (x (i) = x (i + 1) and x (i) = x (i + 2) and x (i) = x (i + 3) and x (i) = 1) then
|
|
scoreY := scoreY + 1
|
|
win := "Y"
|
|
elsif (x (i) = x (i + 1) and x (i) = x (i + 2) and x (i) = x (i + 3) and x (i) = 2) then
|
|
scoreR := scoreR + 1
|
|
win := "Y"
|
|
elsif (x (i + 1) = x (i + 2) and x (i + 1) = x (i + 3) and x (i + 1) = x (i + 4) and x (i + 1) = 1) then
|
|
scoreY := scoreY + 1
|
|
win := "Y"
|
|
elsif (x (i + 1) = x (i + 2) and x (i + 1) = x (i + 3) and x (i + 1) = x (i + 4) and x (i + 1) = 2) then
|
|
scoreR := scoreR + 1
|
|
win := "Y"
|
|
elsif (x (i + 2) = x (i + 3) and x (i + 2) = x (i + 4) and x (i + 2) = x (i + 5) and x (i + 2) = 1) then
|
|
scoreY := scoreY + 1
|
|
win := "Y"
|
|
elsif (x (i + 2) = x (i + 3) and x (i + 2) = x (i + 4) and x (i + 2) = x (i + 5) and x (i + 2) = 2) then
|
|
scoreR := scoreR + 1
|
|
win := "Y"
|
|
end if
|
|
end for
|
|
for i : 1 .. 36 %Positive Slope
|
|
if (x (i) = x (i + 7) and x (i) = x (i + 14) and x (i) = x (i + 21) and x (i) = 1) then
|
|
scoreY := scoreY + 1
|
|
win := "Y"
|
|
elsif (x (i) = x (i + 7) and x (i) = x (i + 14) and x (i) = x (i + 21) and x (i) = 2) then
|
|
scoreR := scoreR + 1
|
|
win := "Y"
|
|
elsif (x (i + 1) = x (i + 8) and x (i + 1) = x (i + 15) and x (i + 1) = x (i + 22) and x (i + 1) = 2) then
|
|
scoreR := scoreR + 1
|
|
win := "Y"
|
|
elsif (x (i + 1) = x (i + 8) and x (i + 1) = x (i + 15) and x (i + 1) = x (i + 22) and x (i + 1) = 1) then
|
|
scoreY := scoreY + 1
|
|
win := "Y"
|
|
elsif (x (i + 2) = x (i + 9) and x (i + 2) = x (i + 16) and x (i + 2) = x (i + 23) and x (i + 2) = 1) then
|
|
scoreY := scoreY + 1
|
|
win := "Y"
|
|
elsif (x (i + 2) = x (i + 9) and x (i + 2) = x (i + 16) and x (i + 2) = x (i + 23) and x (i + 2) = 2) then
|
|
scoreR := scoreR + 1
|
|
win := "Y"
|
|
elsif (x (1) = x (7) and x (1) = x (13) and x (1) = x (19) and x (1) = 1) then
|
|
scoreY := scoreY + 1
|
|
win := "Y"
|
|
elsif (x (1) = x (7) and x (1) = x (13) and x (1) = x (19) and x (1) = 2) then
|
|
scoreR := scoreR + 1
|
|
win := "Y"
|
|
end if
|
|
end for
|
|
for i : 1 .. 70 %Negative Slope
|
|
if i > 24 then
|
|
if (x (i) = x (i - 5) and x (i) = x (i - 10) and x (i) = x (i - 15) and x (i) = 1) then
|
|
scoreY := scoreY + 1
|
|
win := "Y"
|
|
elsif (x (i) = x (i - 5) and x (i) = x (i - 10) and x (i) = x (i - 15) and x (i) = 2) then
|
|
scoreR := scoreR + 1
|
|
win := "Y"
|
|
elsif (x (i + 1) = x (i - 6) and x (i - 1) = x (i - 11) and x (i - 1) = x (i - 16) and x (i + 1) = 2) then
|
|
scoreR := scoreR + 1
|
|
win := "Y"
|
|
elsif (x (i + 1) = x (i - 6) and x (i - 1) = x (i - 11) and x (i - 1) = x (i - 16) and x (i + 1) = 1) then
|
|
scoreY := scoreY + 1
|
|
win := "Y"
|
|
elsif (x (i + 2) = x (i - 7) and x (i - 2) = x (i - 12) and x (i - 2) = x (i - 17) and x (i + 2) = 1) then
|
|
scoreY := scoreY + 1
|
|
win := "Y"
|
|
elsif (x (i + 2) = x (i - 7) and x (i + 2) = x (i - 12) and x (i - 2) = x (i - 17) and x (i + 2) = 2) then
|
|
scoreR := scoreR + 1
|
|
win := "Y"
|
|
end if
|
|
end if
|
|
end for
|
|
exit when win = "Y"
|
|
end loop
|
|
winner
|
|
end game
|
|
proc mainMenu
|
|
drawfillbox (0, 0, 696, 400, black)
|
|
Font.Draw ("", 295, 220, font1, 48)
|
|
Font.Draw ("", 251, 150, font1, 48)
|
|
Font.Draw ("", 305, 79, font1, 48)
|
|
loop
|
|
Font.Draw ("Connect4", 155, 290, title, 52)
|
|
Mouse.Where (xValue, yValue, button)
|
|
if xValue >= 215 and xValue <= 455 then
|
|
if yValue >= 200 and yValue <= 250 then
|
|
if button = 1 then
|
|
delay (1000)
|
|
game
|
|
exit
|
|
end if
|
|
drawbox (215, 200, 455, 250, 48)
|
|
else
|
|
drawbox (215, 200, 455, 250, black)
|
|
end if
|
|
if yValue >= 130 and yValue <= 180 then
|
|
if button = 1 then
|
|
drawfillbox (0, 0, 696, 400, black)
|
|
Font.Draw ("", 70, 350, instructionsTitle, 48)
|
|
Font.Draw ("", 0, 320, font2, 52)
|
|
Font.Draw ("", 0, 280, font2, 52)
|
|
Font.Draw ("", 0, 240, font2, 52)
|
|
Font.Draw ("", 0, 200, font2, 52)
|
|
Font.Draw ("", 245, 75, font2, 14)
|
|
pauseProgram
|
|
mainMenu
|
|
end if
|
|
drawbox (215, 130, 455, 180, 48)
|
|
else
|
|
drawbox (215, 130, 455, 180, black)
|
|
end if
|
|
if yValue >= 60 and yValue <= 110 then
|
|
if button = 1 then
|
|
shouldPlay := false
|
|
exit
|
|
end if
|
|
drawbox (215, 60, 455, 110, 48)
|
|
else
|
|
drawbox (215, 60, 455, 110, black)
|
|
end if
|
|
end if
|
|
exit when button = 1
|
|
end loop
|
|
end mainMenu
|
|
proc intro
|
|
drawfillbox (0, 0, 696, 400, black)
|
|
for i : 1 .. 400
|
|
drawfillbox (0, 0, 696, 400, black)
|
|
Font.Draw ("", 560 - i, 250, title, 48)
|
|
Font.Draw ("", -255 + i, 220, subtitle, 52)
|
|
delay (4)
|
|
end for
|
|
for i : 1 .. 390
|
|
drawfilloval (40, 401 - i, 20, 20, black)
|
|
drawfilloval (656, 401 - i, 20, 20, black)
|
|
drawfilloval (656, 400 - i, 20, 20, 12)
|
|
drawfilloval (40, 400 - i, 20, 20, yellow)
|
|
delay (3)
|
|
end for
|
|
loop
|
|
drawfillbox (0, 0, 696, 100, black)
|
|
Font.Draw ("Press any Key to Continue.", 169, 20, subtitle, 12)
|
|
delay (300)
|
|
drawfillbox (0, 0, 696, 100, black)
|
|
Font.Draw ("Press any Key to Continue.", 169, 20, subtitle, 14)
|
|
delay (300)
|
|
exit when hasch
|
|
end loop
|
|
mainMenu
|
|
end intro
|
|
%fork backgroundMusic
|
|
intro
|