CyNDeR Posted November 6, 2007 Share Posted November 6, 2007 (edited) I created this little game to help me learn about using a GUI and thought someone else might be able to learn a little from it. It's almost fully commented. Thanks go to smashly who helped me with it. #include <GUIConstants.au3> GUICreate("Guess the Number!", 300, 150, -1, -1) ;Create the GUI GUISetState() GUICtrlCreateLabel("Pick a number between 1 and 20.", 70, 10, 160, 20) ;Instructions $Guess = GUICtrlCreateInput("", 130, 30, 20, 20) ;Input the guess $SubmitGuess = GUICtrlCreateButton("Guess!", 90, 60, 110, 20) ;Button to guess number $Result = GUICtrlCreateInput("Created by CyNDeR..." & @CRLF & "with help from smashly.", 50, 90, 190, 50, $ES_MULTILINE) ;Result of the guess. IE: Right or Wrong, etc. While 1 $msg = GUIGetMsg() Switch $msg Case $GUI_EVENT_CLOSE Exit Case $SubmitGuess $Number = Random(1, 20, 1) ;Create a random number between 1 and 20 If GUICtrlRead($Guess) <> $Number Then ;If the number is guessed wrong, then goto next line GUICtrlSetData($Result, "Wrong Guess!" & @CRLF & "Number Was: " & $Number) ;Show the correct answer GUICtrlSetData($Guess, "") Else GUICtrlSetData($Result, "Right Guess!" & @CRLF & "Number Was: " & $Number) ;Answer was correct GUICtrlSetData($Guess, "") EndIf EndSwitch WEnd Edited November 6, 2007 by CyNDeR My scripts: Random Painter Link to comment Share on other sites More sharing options...
jvanegmond Posted November 6, 2007 Share Posted November 6, 2007 (edited) I like it. Good example. Minor improvement: #include <GUIConstants.au3> GUICreate("Guess the Number!", 300, 150, -1, -1) ;Create the GUI GUISetState() GUICtrlCreateLabel("Pick a number between 1 and 20.", 70, 10, 160, 20) ;Instructions $Guess = GUICtrlCreateInput("", 130, 30, 20, 20,$ES_NUMBER) ;Input the guess $SubmitGuess = GUICtrlCreateButton("Guess!", 90, 60, 110, 20) ;Button to guess number $Result = GUICtrlCreateLabel("Created by CyNDeR..." & @CRLF & "with help from smashly and Manadar.", 50, 90, 190, 50, $ES_CENTER) ;Result of the guess. IE: Right or Wrong, etc. While 1 $msg = GUIGetMsg() Switch $msg Case $GUI_EVENT_CLOSE Exit Case $SubmitGuess $Number = Random(1, 20, 1) ;Create a random number between 1 and 20 If GUICtrlRead($Guess) < 1 OR GUICtrlRead($Guess) > 20 Then ; number must be between 1 and 20 GUICtrlSetData($Result, "Wrong Guess!" & @CRLF & "Number must be between 1 and 20") ;Show an error message Else If GUICtrlRead($Guess) <> $Number Then ;If the number is guessed wrong, then goto next line GUICtrlSetData($Result, "Wrong Guess!" & @CRLF & "Number Was: " & $Number) ;Show the correct answer Else GUICtrlSetData($Result, "Right Guess!" & @CRLF & "Number Was: " & $Number) ;Answer was correct EndIf EndIf GUICtrlSetData($Guess, "") EndSwitch WEnd Edited November 6, 2007 by Manadar github.com/jvanegmond Link to comment Share on other sites More sharing options...
CyNDeR Posted November 6, 2007 Author Share Posted November 6, 2007 Ah, i didnt think about having an error message if the number was over 20, good idea. I also didnt think that i could blank out the inputbox at the end of the loop instead of each case. Heh, this script is teaching me more than i thought it would. My scripts: Random Painter Link to comment Share on other sites More sharing options...
jvanegmond Posted November 6, 2007 Share Posted November 6, 2007 Ah, i didnt think about having an error message if the number was over 20, good idea. I also didnt think that i could blank out the inputbox at the end of the loop instead of each case. Heh, this script is teaching me more than i thought it would.Glad you also like it. I also added in $ES_NUMBER so only numbers could be typed in the input box. github.com/jvanegmond Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now