; Create by quick_sliver007 ; Script GUI generated by AutoBuilder 0.5 Prototype ; HANGMAN VERSION 1.1 #include #NoTrayIcon ; Global Variables Global $Stats_Win = 0, $Stats_Loses = 0, $Stats_WinPer = 0.0, $Stats_LosesPer = 0.0 Global $Wordlen, $Word ;If Not IsDeclared('WS_CLIPSIBLINGS') Then Global $WS_CLIPSIBLINGS = 0x04000000 $GUI = GUICreate("Hangman v1.1", 678, 555, (@DesktopWidth - 678) / 2, (@DesktopHeight - 600) / 2, $WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS) $font = "Comic Sans MS" GUISetFont(12, 500, "", $font) ; Button Assignment $Button_A = GUICtrlCreateButton("A", 20, 390, 40, 40) $Button_B = GUICtrlCreateButton("B", 70, 390, 40, 40) $Button_C = GUICtrlCreateButton("C", 120, 390, 40, 40) $Button_D = GUICtrlCreateButton("D", 170, 390, 40, 40) $Button_E = GUICtrlCreateButton("E", 220, 390, 40, 40) $Button_F = GUICtrlCreateButton("F", 270, 390, 40, 40) $Button_G = GUICtrlCreateButton("G", 320, 390, 40, 40) $Button_H = GUICtrlCreateButton("H", 370, 390, 40, 40) $Button_I = GUICtrlCreateButton("I", 420, 390, 40, 40) $Button_J = GUICtrlCreateButton("J", 470, 390, 40, 40) $Button_K = GUICtrlCreateButton("K", 520, 390, 40, 40) $Button_L = GUICtrlCreateButton("L", 570, 390, 40, 40) $Button_M = GUICtrlCreateButton("M", 620, 390, 40, 40) $Button_N = GUICtrlCreateButton("N", 20, 440, 40, 40) $Button_O = GUICtrlCreateButton("O", 70, 440, 40, 40) $Button_P = GUICtrlCreateButton("P", 120, 440, 40, 40) $Button_Q = GUICtrlCreateButton("Q", 170, 440, 40, 40) $Button_R = GUICtrlCreateButton("R", 220, 440, 40, 40) $Button_S = GUICtrlCreateButton("S", 270, 440, 40, 40) $Button_T = GUICtrlCreateButton("T", 320, 440, 40, 40) $Button_U = GUICtrlCreateButton("U", 370, 440, 40, 40) $Button_V = GUICtrlCreateButton("V", 420, 440, 40, 40) $Button_W = GUICtrlCreateButton("W", 470, 440, 40, 40) $Button_X = GUICtrlCreateButton("X", 520, 440, 40, 40) $Button_Y = GUICtrlCreateButton("Y", 570, 440, 40, 40) $Button_Z = GUICtrlCreateButton("Z", 620, 440, 40, 40) $Button_RESETSTATS = GUICtrlCreateButton("RESET STATS", 500, 230, 120, 30) ; Group Areas $Group_STATS = GUICtrlCreateGroup("STATS", 450, 90, 220, 200) $Group_WORD = GUICtrlCreateGroup("LETTERS IN WORD ", 10, 300, 660, 60) $Group_SELECT_LETTERS = GUICtrlCreateGroup("SELECT LETTERS", 10, 365, 660, 125) ; Button Screen Order $Button_GIVE_UP = GUICtrlCreateButton("GIVE UP", 70, 510, 120, 30) $Button_GUESS_WORD = GUICtrlCreateButton("GUESS WORD", 210, 510, 120, 30) $Button_HINT = GUICtrlCreateButton("HINT", 350, 510, 120, 30) $Button_DONATE = GUICtrlCreateButton("DONATE", 490, 510, 120, 30) $Button_EXIT = GUICtrlCreateButton("X", 630, 510, 30, 30) ; Labels on Screen $Label_STATS = GUICtrlCreateLabel("STATS", 520, 110, 90, 30) $Label_WINS = GUICtrlCreateLabel("000 WINS", 470, 150, 170, 30) $Label_WINSPER = GUICtrlCreateLabel("000%", 615, 150, 50, 30) $Label_LOSES = GUICtrlCreateLabel("000 LOSES", 470, 190, 170, 30) $Label_LOSESPER = GUICtrlCreateLabel("000%", 615, 190, 50, 30) $Label_AUTHOR = GUICtrlCreateLabel("GAME DESIGN BY QUICK_SLIVER007", 460, 10, 200, 70) $Pic = GUICtrlCreatePic("1.jpg", 70, 30, 280, 260) _SETLETTERS(Random(1, 58112)) GUISetState() $Pcount = 1 While 1 $GuessWord = "" $msg = GUIGetMsg() Select Case $msg = $Button_DONATE _GoToWebPage("https://www.paypal.com/xclick/business=quick_sliver007%40yahoo%2ecom&no_shipping=0&no_note=1&tax=0¤cy_code=USD") Case $msg = $GUI_EVENT_CLOSE or $msg = $Button_EXIT ExitLoop Case $msg = $Button_GUESS_WORD Do $GuessWord = InputBox("Hangman's Guess Word","What do you think the word is?") If StringLen($GuessWord) < $Wordlen Then MsgBox(0,"Hangman's Word Length Error","Word Entered is too short!") ElseIf StringLen($GuessWord) > $Wordlen Then MsgBox(0,"Hangman's Word Length Error","Word Entered is too Long!") EndIf Until StringLen($GuessWord) = $Wordlen If $GuessWord = $Word Then MsgBox(0, "Hangman - Player Wins!", "The Hangman missed you this time!" & @CRLF & " You Win!") _resetGui() Else MsgBox(0, "Hangman's Noose - You Lose!", "The missed word is: " & StringUpper($Word)) _resetGui() EndIf Case $msg = $Button_GIVE_UP MsgBox(64,"Hangman's Noose","Here is the word: " & StringUpper($Word)) ; put in stats calc _resetGui() Case $msg = $Button_HINT MsgBox(0,"Hangman's Hint","It is Bigger than a Bread Box!" & @CRLF & "Sorry No Hint Yet!") Case $msg = $Button_A _CHECKLETTER("A") GUICtrlSetState($Button_A, $GUI_DISABLE) Case $msg = $Button_B GUICtrlSetState($Button_B, $GUI_DISABLE) _CHECKLETTER("B") Case $msg = $Button_C GUICtrlSetState($Button_C, $GUI_DISABLE) _CHECKLETTER("C") Case $msg = $Button_D GUICtrlSetState($Button_D, $GUI_DISABLE) _CHECKLETTER("D") Case $msg = $Button_E GUICtrlSetState($Button_E, $GUI_DISABLE) _CHECKLETTER("E") Case $msg = $Button_F GUICtrlSetState($Button_F, $GUI_DISABLE) _CHECKLETTER("F") Case $msg = $Button_G GUICtrlSetState($Button_G, $GUI_DISABLE) _CHECKLETTER("G") Case $msg = $Button_H GUICtrlSetState($Button_H, $GUI_DISABLE) _CHECKLETTER("H") Case $msg = $Button_I GUICtrlSetState($Button_I, $GUI_DISABLE) _CHECKLETTER("I") Case $msg = $Button_J GUICtrlSetState($Button_J, $GUI_DISABLE) _CHECKLETTER("J") Case $msg = $Button_K GUICtrlSetState($Button_K, $GUI_DISABLE) _CHECKLETTER("K") Case $msg = $Button_L GUICtrlSetState($Button_L, $GUI_DISABLE) _CHECKLETTER("L") Case $msg = $Button_M GUICtrlSetState($Button_M, $GUI_DISABLE) _CHECKLETTER("M") Case $msg = $Button_N GUICtrlSetState($Button_N, $GUI_DISABLE) _CHECKLETTER("N") Case $msg = $Button_O GUICtrlSetState($Button_O, $GUI_DISABLE) _CHECKLETTER("O") Case $msg = $Button_P GUICtrlSetState($Button_P, $GUI_DISABLE) _CHECKLETTER("P") Case $msg = $Button_Q GUICtrlSetState($Button_Q, $GUI_DISABLE) _CHECKLETTER("Q") Case $msg = $Button_R GUICtrlSetState($Button_R, $GUI_DISABLE) _CHECKLETTER("R") Case $msg = $Button_S GUICtrlSetState($Button_S, $GUI_DISABLE) _CHECKLETTER("S") Case $msg = $Button_T GUICtrlSetState($Button_T, $GUI_DISABLE) _CHECKLETTER("T") Case $msg = $Button_U GUICtrlSetState($Button_U, $GUI_DISABLE) _CHECKLETTER("U") Case $msg = $Button_V GUICtrlSetState($Button_V, $GUI_DISABLE) _CHECKLETTER("V") Case $msg = $Button_W GUICtrlSetState($Button_W, $GUI_DISABLE) _CHECKLETTER("W") Case $msg = $Button_X GUICtrlSetState($Button_X, $GUI_DISABLE) _CHECKLETTER("X") Case $msg = $Button_Y GUICtrlSetState($Button_Y, $GUI_DISABLE) _CHECKLETTER("Y") Case $msg = $Button_Z GUICtrlSetState($Button_Z, $GUI_DISABLE) _CHECKLETTER("Z") EndSelect WEnd Exit ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; USE THIS FUNCTION TO OPEN AN URL ON THE DEFAULT BROWSER ; THANKS TO Ejoc AND SlimShady FOR THIS FUNCTIONS Func _GoToWebPage($URL) Run(@ComSpec & ' /c START "" "' & $URL & '"', @SystemDir, @SW_HIDE) EndFunc ;==>_GoToWebPage ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Func _SETLETTERS($line) Global $Word = FileReadLine("wordlist.txt", $line) Global $Wordlen = Stringlen($Word) Global $labels[42] Local $c Local $d For $c = 1 To $Wordlen $labels[$c] = GUICtrlCreateLabel("_", $c * 15, 325, 20, 25) For $d = ($Wordlen + 1) To 41 $labels[$d] = GUICtrlCreateDummy() Next Next $Group_WORD = GUICtrlCreateGroup("LETTERS IN WORD" & "(" & $Wordlen & ")", 10, 300, 660, 60) ; MsgBox(0,"The Word Is:", $Word); for debug purposes only!! :-) Return $Wordlen EndFunc ;==>_SETLETTERS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Func _CHECKLETTER($Letter) If StringInStr($Word, $Letter) Then; IF LETTER IN THE WORD Local $Count = 0 Do $Count = $Count + 1 Global $StringInStr = StringInStr($Word, $Letter, 0, $Count) GUICtrlSetData($labels[$StringInStr], $Letter) Until $Count = $Wordlen Else $Pcount = $Pcount + 1 GUICtrlSetImage($Pic, $Pcount & ".jpg") EndIf If $Pcount = 7 Then; Check for lose GUICtrlSetImage($Pic, "8.jpg") MsgBox(0, "Hangman's Noose - You Lose!", "The missed word is: " & StringUpper($Word)) _resetGui() EndIf _CheckForWin() EndFunc ;==>_CHECKLETTER ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Func _CheckForWin() Local $read_Labels[42] For $c = 1 To 41 $read_Labels[$c] = GUICtrlRead($labels[$c]) Next $connectlabels = $read_Labels[1] & $read_Labels[2] & $read_Labels[3] & $read_Labels[4] & $read_Labels[5]_ & $read_Labels[6] & $read_Labels[7] & $read_Labels[8] & $read_Labels[9] & $read_Labels[10]_ & $read_Labels[11] & $read_Labels[12] & $read_Labels[13] & $read_Labels[14] & $read_Labels[15]_ & $read_Labels[16] & $read_Labels[17] & $read_Labels[18] & $read_Labels[19] & $read_Labels[20]_ & $read_Labels[21] & $read_Labels[22] & $read_Labels[23] & $read_Labels[24] & $read_Labels[25]_ & $read_Labels[26] & $read_Labels[27] & $read_Labels[28] & $read_Labels[29] & $read_Labels[30]_ & $read_Labels[31] & $read_Labels[32] & $read_Labels[33] & $read_Labels[34] & $read_Labels[35]_ & $read_Labels[36] & $read_Labels[37] & $read_Labels[38] & $read_Labels[39] & $read_Labels[40]_ & $read_Labels[41] Local $Trim_connectlabels = StringTrimRight($connectlabels, (41 - $Wordlen)) If $Trim_connectlabels = $Word Then MsgBox(0, "Hangman - Player Wins!", "The Hangman missed you this time!" & @CRLF & " You Win!") _resetGui() EndIf EndFunc ;==>_CheckForWin ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Func _resetGui() Local $i For $i = 1 To 41 GUICtrlDelete($labels[$i]) ; reduce code size Next ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Clear Word Count Display $Group_WORD = GUICtrlCreateGroup("LETTERS IN WORD ", 10, 300, 660, 60) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; GUICtrlSetState($Button_A, $GUI_ENABLE) GUICtrlSetState($Button_B, $GUI_ENABLE) GUICtrlSetState($Button_C, $GUI_ENABLE) GUICtrlSetState($Button_D, $GUI_ENABLE) GUICtrlSetState($Button_E, $GUI_ENABLE) GUICtrlSetState($Button_F, $GUI_ENABLE) GUICtrlSetState($Button_G, $GUI_ENABLE) GUICtrlSetState($Button_H, $GUI_ENABLE) GUICtrlSetState($Button_I, $GUI_ENABLE) GUICtrlSetState($Button_J, $GUI_ENABLE) GUICtrlSetState($Button_K, $GUI_ENABLE) GUICtrlSetState($Button_L, $GUI_ENABLE) GUICtrlSetState($Button_M, $GUI_ENABLE) GUICtrlSetState($Button_N, $GUI_ENABLE) GUICtrlSetState($Button_O, $GUI_ENABLE) GUICtrlSetState($Button_P, $GUI_ENABLE) GUICtrlSetState($Button_Q, $GUI_ENABLE) GUICtrlSetState($Button_R, $GUI_ENABLE) GUICtrlSetState($Button_S, $GUI_ENABLE) GUICtrlSetState($Button_T, $GUI_ENABLE) GUICtrlSetState($Button_U, $GUI_ENABLE) GUICtrlSetState($Button_V, $GUI_ENABLE) GUICtrlSetState($Button_W, $GUI_ENABLE) GUICtrlSetState($Button_X, $GUI_ENABLE) GUICtrlSetState($Button_Y, $GUI_ENABLE) GUICtrlSetState($Button_Z, $GUI_ENABLE) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Global $Pcount = 1 GUICtrlSetImage($Pic, $Pcount & ".jpg") _SETLETTERS(Random(1, 58112)) EndFunc ;==>_resetGui