Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 procudure and button help
Index -> Programming, Turing -> Turing Help
View previous topic Printable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
bgmrk




PostPosted: Fri Dec 02, 2005 5:11 pm   Post subject: procudure and button help

Hi,

This is my first time posting here. Mostly i've just watched in the background. But i have a problem that evven the serch button can't fix. I'm making a guessing game and it all works excpet on thing...When you are done the first level i don't know how you would enable the second level button. There is probably a smple answer for this. But I can't seem to figgure this out... Here is the code for my game. Please help me so i can complete this. And if you have any suggestions to make it better then please say so.
code:
import GUI
View.Set ("graphics:500;450,nobuttonbar")
var guess, randomnumber, number : int




procedure level1
    cls
    guess := 5
    randint (randomnumber, 1, 10)
    put "Guess a number between 1-10."
    put "you only have 5 tries so be careful"
    put "type 0 to go to the main menu"
    loop
        get number
        if number = randomnumber then
            delay (500)
            cls
            put "You got it right!! You still had ", guess, " tries left!"
           
        elsif number < randomnumber and number < 10 then
            guess := guess - 1
            put "Try a higher number. Tries left ", guess, "."
        elsif number > randomnumber then
            guess := guess - 1
            put "Try a lower number. Tries left ", guess, "."
        elsif number > 10 then
            put "Type a number from 1-10"
        end if
        if guess = 0 then
            delay (500)
            cls
            put "Sorry your out of tries. The correct number was ", randomnumber, "."
        end if
        exit when randomnumber = number or guess = 0 or number = 0
    end loop
end level1

procedure level2

    guess := 10
    randint (randomnumber, 1, 100)
    cls
    put "Guess a number between 1-100."
    put "you only have 10 tries so be careful"
    put "type 0 to go to the main menu"
    loop
        get number
        if number = randomnumber then
            delay (500)
            cls
            put "You got it right!! You still had ", guess, " tries left!"
        elsif number < randomnumber and number < 10 then
            guess := guess - 1
            put "Try a higher number. Tries left ", guess, "."
        elsif number > randomnumber then
            guess := guess - 1
            put "Try a lower number. Tries left ", guess, "."
        elsif number > 100 then
            put "Type a number from 1-100"
        end if
        if guess = 0 then
            delay (500)
            cls
            put "Sorry your out of tries. The correct number was ", randomnumber, "."
        end if
        exit when randomnumber = number or guess = 0 or number = 0
    end loop
GUI.Refresh
    end level2

procedure level3
    cls
    guess := 15
    randint (randomnumber, 1, 1000)
    cls
    put "Guess a number between 1-1,000."
    put "you only have 15 tries so be careful"
    put "type 0 to go to the main menu"
    loop
        get number
        if number = randomnumber then
            delay (500)
            cls
            put "You got it right!! You still had ", guess, " tries left!"
        elsif number < randomnumber and number < 10 then
            guess := guess - 1
            put "Try a higher number. Tries left ", guess, "."
        elsif number > randomnumber then
            guess := guess - 1
            put "Try a lower number. Tries left ", guess, "."
        elsif number > 1000 then
            put "Type a number from 1-1,000"
        end if
        if guess = 0 then
            delay (500)
            cls
            put "Sorry your out of tries. The correct number was ", randomnumber, "."
        end if
        exit when randomnumber = number or guess = 0 or number = 0
    end loop
GUI.Refresh
    end level3

procedure level4
    cls
    guess := 20
    randint (randomnumber, 1, 10000)
    cls
    put "Guess a number between 1-10,000."
    put "you only have 20 tries so be careful"
    put "type 0 to go to the main menu"
    loop
        get number
        if number = randomnumber then
            delay (500)
            cls
            put "You got it right!! You still had ", guess, " tries left!"
        elsif number < randomnumber and number < 10000 then
            guess := guess - 1
            put "Try a higher number. Tries left ", guess, "."
        elsif number > randomnumber then
            guess := guess - 1
            put "Try a lower number. Tries left ", guess, "."
        elsif number > 1000 then
            put "Type a number from 1-10,000"
        end if
        if guess = 0 then
            delay (500)
            cls
            put "Sorry your out of tries. The correct number was ", randomnumber, "."
        end if
        exit when randomnumber = number or guess = 0 or number = 0
    end loop
GUI.Refresh
    end level4

procedure level5
    cls
    guess := 25
    randint (randomnumber, 1, 100000)
    cls
    put "Guess a number between 1-100,000."
    put "you only have 25 tries so be careful"
    put "type 0 to go to the main menu"
    loop
        get number
        if number = randomnumber then
            delay (500)
            cls
            put "You got it right!! You still had ", guess, " tries left!"
        elsif number < randomnumber and number < 100000 then
            guess := guess - 1
            put "Try a higher number. Tries left ", guess, "."
        elsif number > randomnumber then
            guess := guess - 1
            put "Try a lower number. Tries left ", guess, "."
        elsif number > 1000 then
            put "Type a number from 1-100,000"
        end if
        if guess = 0 then
            delay (500)
            cls
            put "Sorry your out of tries. The correct number was ", randomnumber, "."
        end if
        exit when randomnumber = number or guess = 0 or number = 0
    end loop
GUI.Refresh
    end level5

cls
var level1button : int := GUI.CreateButton (250, 300, 0, "Level 1", level1)
var level2button : int := GUI.CreateButton (250, 250, 0, "Level 2", level2)
var level3button : int := GUI.CreateButton (250, 200, 0, "Level 3", level3)
var level4button : int := GUI.CreateButton (250, 150, 0, "Level 4", level4)
var level5button : int := GUI.CreateButton (250, 100, 0, "Level 5", level5)
var quitbutton : int := GUI.CreateButton (255, 50, 0, "Quit", GUI.Quit)
GUI.Disable (level2button)
GUI.Disable (level3button)
GUI.Disable (level4button)
GUI.Disable (level5button)
put "Please select a level:"
loop
    exit when GUI.ProcessEvent
end loop


Please note that i have only been doing turing for just under 3 weeks.
Thanx
Sponsor
Sponsor
Sponsor
sponsor
Geminias




PostPosted: Sat Dec 03, 2005 11:08 pm   Post subject: (No subject)

within the procedure 'level1'.

code:
procedure level1
    cls
    guess := 5
    randint (randomnumber, 1, 10)
    put "Guess a number between 1-10."
    put "you only have 5 tries so be careful"
    put "type 0 to go to the main menu"
    loop
        get number
        if number = randomnumber then
            delay (500)
            cls
            put "You got it right!! You still had ", guess, " tries left!"
           


add a delay so they can read that they got it right, then clear the screen and add your button procedure.[/code]
bgmrk




PostPosted: Sun Dec 04, 2005 8:23 pm   Post subject: (No subject)

that dosen't answer my question...

My question is how do i get the level 2 button to appear enabled...
Tony




PostPosted: Sun Dec 04, 2005 8:28 pm   Post subject: (No subject)

well before you exit your level1 procedure, you need to call GUI.Enable (level2button)

Geminias was almost right
code:

if number = randomnumber then
            delay (500)
            cls
            put "You got it right!! You still had ", guess, " tries left!"
            GUI.Enable(level2button)
Latest from compsci.ca/blog: Tony's programming blog. DWITE - a programming contest.
bgmrk




PostPosted: Wed Dec 07, 2005 7:22 pm   Post subject: (No subject)

I tried that and i get an error saying that level2button has not been declared
Tony




PostPosted: Thu Dec 08, 2005 10:05 am   Post subject: (No subject)

well then you'd just have to declear your variables above the procedure that's calling them.
Latest from compsci.ca/blog: Tony's programming blog. DWITE - a programming contest.
Display posts from previous:   
   Index -> Programming, Turing -> Turing Help
View previous topic Tell A FriendPrintable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Page 1 of 1  [ 6 Posts ]
Jump to:   


Style:  
Search: