Computer Science Canada

Gui

Author:  donutking [ Thu Jan 11, 2007 10:04 pm ]
Post subject:  Gui

Every time i use a GUI Turing annouces a fatal error. What's the problem? Very Happy

Author:  Prince Pwn [ Thu Jan 11, 2007 10:16 pm ]
Post subject:  RE:Gui

At the top of your program, you must:
code:

import GUI

Author:  donutking [ Thu Jan 11, 2007 10:17 pm ]
Post subject:  Re: Gui

i did that already, the error is still there

Author:  Prince Pwn [ Thu Jan 11, 2007 10:19 pm ]
Post subject:  Re: Gui

Post your code or give a better explanation.

Author:  donutking [ Thu Jan 11, 2007 10:22 pm ]
Post subject:  Re: Gui

here's the code, what's wrong?



[/code]
%Variables
import GUI

setscreen ("Graphics")
setscreen ("nocursor")

var key : string (1)
var draw, draw2, draw3, draw4, yes, no, quitGame, v, w, x, y, z : int := 0
var pic : int
var btn, btnupdwn : int

proc title
cls
locate (1, 34)
put "The Ramdom Blocks Game"
put ""
end title

proc PauseProgram
put ""
put "Please press any button to continue:"
getch (key)
end PauseProgram

proc Game1
var sqr, sqr2, sqr3, sqr4, sqr5, box, box2, box3, box4, box5 : string
var mx, my, updown : int
cls
drawbox (0, 0, 75, 75, 7)
drawbox (100, 0, 175, 75, 7)
drawbox (200, 0, 275, 75, 7)
drawbox (300, 0, 375, 75, 7)
drawbox (400, 0, 475, 75, 7)
var x1, y1, x2, y2, x3, y3, x4, y4, y5, x5 : int
randint (x1, 0, 25)
randint (x2, 100, 125)
randint (x3, 200, 225)
randint (x4, 310, 335)
randint (x5, 420, 455)
y1 := 199
y2 := 210
y3 := 220
y4 := 230
y5 := 240
randint (v, 0, 255)
randint (w, 0, 255)
randint (x, 0, 255)
randint (y, 0, 255)
randint (z, 0, 255)
drawfillbox (x1, y1, x1 + 50, y1 + 50, v)
drawfillbox (x2, y2, x2 + 55, y2 + 60, w)
drawfillbox (x3, y3, x3 + 60, y3 + 70, x)
drawfillbox (x4, y4, x4 + 65, y4 + 80, y)
drawfillbox (x5, y5, x5 + 70, y5 + 90, z)
loop
if buttonmoved ("down") then
buttonwait ("down", mx, my, btn, updown)
if x1 <= mx and mx <= x1 + 50 and y1 <= my and my <= y1 + 50 then
x1 := mx
y1 := my
loop
mousewhere (mx, my, updown)
drawfillbox (mx - 10, my - 10, mx + 60, my + 60, 0)
drawfillbox (mx, my, mx + 50, my + 50, v)
exit when updown = 0
end loop
x1 := mx
y1 := my
elsif x2 <= mx and mx <= x2 + 55 and y2 <= my and my <= y2 + 60 then
x2 := mx
y2 := my
buttonwait ("down", mx, my, btn, updown)
loop
mousewhere (mx, my, updown)
drawfillbox (mx, my, mx + 55, my + 60, w)
exit when updown = 0
end loop
x2 := mx
y2 := my
elsif x3 <= mx and mx <= x3 + 60 and y3 <= my and my <= y3 + 70 then
x3 := mx
y3 := my
buttonwait ("down", mx, my, btn, updown)
loop
mousewhere (mx, my, updown)
drawfillbox (mx, my, mx + 60, my + 70, x)
exit when updown = 0
end loop
x3 := mx
y3 := my
elsif x4 <= mx and mx <= x4 + 65 and y4 <= my and my <= y4 + 80 then
x4 := mx
y4 := my
buttonwait ("down", mx, my, btn, updown)
loop
mousewhere (mx, my, updown)
drawfillbox (mx, my, mx + 65, my + 80, y)
exit when updown = 0
end loop
x4 := mx
y4 := my
elsif x5 <= mx and mx <= x5 + 70 and y5 <= my and my <= y5 + 90 then
x5 := mx
y5 := my
buttonwait ("down", mx, my, btn, updown)
loop
mousewhere (mx, my, updown)
drawfillbox (mx, my, mx + 70, my + 90, z)
exit when updown = 0
end loop
x5 := mx
y5 := my
end if
end if
end loop

end Game1
proc intro
put "This is the Moving blocks game!!!"
put "Created by the donutking!!!"
cls
end intro

proc startScreen
title
intro
pic := Pic.FileNew ("donut.bmp")
Pic.Draw (pic, 0, 0, picUnderMerge)
draw := GUI.CreateButtonFull (10, 100, 0, "Start Game", Game1, 0, '^F', false)
quitGame := GUI.CreateButtonFull (200, 100, 0, "Quit", GUI.Quit, 0, KEY_ESC, false)
loop
exit when GUI.ProcessEvent
end loop
end startScreen

proc goodbye
put "Would you like to play again?"
yes := GUI.CreateButtonFull (10, 100, 0, "Yes", intro, 0, '^F', true)
no := GUI.CreateButtonFull (200, 100, 0, "No", GUI.Quit, 0, KEY_ESC, false)
loop
exit when GUI.ProcessEvent
end loop
end goodbye

title
PauseProgram
startScreen

Author:  Prince Pwn [ Thu Jan 11, 2007 10:27 pm ]
Post subject:  Re: Gui

In your startScreen procedure I commented out the
Turing:

pic := Pic.FileNew ("donut.bmp")
Pic.Draw (pic, 0, 0, picUnderMerge)


And it worked fine when I clicked your buttons and everything. The error might be your picture in the wrong directory, or post the exact error you get.

Author:  donutking [ Thu Jan 11, 2007 10:34 pm ]
Post subject:  Re: Gui

the error is that fatal internal error thing, where it says that its a bug in the environment

Author:  Ultrahex [ Thu Jan 11, 2007 10:38 pm ]
Post subject:  Re: Gui

It also works fine for me, so therefore either your turing version is differnt then ours (4.04c - or something along the lines of that).

Otherwise, I cannot help you much here...

Author:  Clayton [ Thu Jan 11, 2007 11:02 pm ]
Post subject:  Re: Gui

could you please give us the exact error? If you do that it might help us a bit, as I am not getting the error either.

Author:  ericfourfour [ Fri Jan 12, 2007 12:22 am ]
Post subject:  RE:Gui

Post what the error says. I'm thinking it has something to do with accessing memory that does not exist.

Author:  [Gandalf] [ Fri Jan 12, 2007 6:15 pm ]
Post subject:  RE:Gui

Sounds like it's most likely something to do with your version of Turing rather than the code itself. The fatal error message, as you said, says that it's a problem with the environment, which would be the Turing IDE.

Author:  CodeMonkey2000 [ Fri Jan 12, 2007 10:27 pm ]
Post subject:  Re: Gui

Is it just me or does turing act funny? In the quiz i made for grade 9 programming last year,and i imported gui, the program sometimes worked properly and sometimes does something wrong. I noticed that with the pic module too. I encountered a problem where turing did something funny a while ago, turing kept displaying the worng picture.I ran the program numerous times and it still happened. When I restart my comp everything was back to normal. Is there something wrong with how I implement my code or is it just turing?

Author:  ericfourfour [ Sat Jan 13, 2007 3:54 am ]
Post subject:  RE:Gui

Turing's GUI, when used properly, should not have any errors. Neither should the Pic module.


: