Hey ,
ich hab hier noch ein zahlen rate spiel .
hab ich ma vor einiger zeit gemacht.
Hier version 1.0
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
$Form = GUICreate('zahlen raten',220,210,-1,-1)
$input = guictrlcreateinput('zahl', 55, 87, 107, 19 , $ES_NUMBER)
$button = guictrlcreatebutton('raten', 60, 140, 100, 30)
$button2 = guictrlcreatebutton('neu', 60, 170, 100, 30)
$label = GUICtrlCreateLabel ("Errate die Zahl" ,75,20)
$label1 = GUICtrlCreateLabel ("zwischen 0 und 1000" ,60,60)
GUISetState(@SW_SHOW, $Form)
$zuege = 0
$secret = Random (0 , 1000 , 1)
$von=0
$bis=0
$blub = 0
While 1
If $blub == 1 Then
GUICtrlDelete ($label1)
$label1 = GUICtrlCreateLabel ("zwischen " & $von & " und " & $bis,60,60)
$blub = 0
EndIf
$msg = GUIGetMsg($Form)
Select
Case $msg=$GUI_EVENT_CLOSE
exit
Case $msg=$button
$zuege += 1
$zahl = GUICtrlRead($input)
If $secret == $zahl Then
MsgBox ( 4096 ,"gewonnen!!!" , "gewonnen!!!" & @CRLF & "du hast " & $zuege & " züge gebraucht" )
ElseIf $secret < $zahl then
MsgBox ( 4096 ,"zu groß" , "zu groß!!!" )
ElseIf $secret > $zahl then
MsgBox ( 4096 ,"zu klein" , "zu klein!!!" )
EndIf
Case $msg=$button2
$secret = Random ($von , $bis , 1)
$zuege = 0
$Form1 = GUICreate('zahlen raten',220,210,-1,-1)
$input1 = guictrlcreateinput('von', 30, 50, 60, 20 ,$ES_NUMBER)
$input2 = guictrlcreateinput('bis', 130, 50, 60, 20 , $ES_NUMBER)
$button3 = guictrlcreatebutton('neu', 60, 145, 94, 26)
GUISetState(@SW_SHOW, $Form1)
$blub = 0
While 2
$msg1 = GUIGetMsg($Form1)
Select
Case $msg1=$GUI_EVENT_CLOSE
exit
Case $msg1=$button3
$von = GUICtrlRead($input1)
$bis = GUICtrlRead($input2)
If $von < $bis Then
$secret = Random ($von , $bis , 1)
$zuege = 0
GUIDelete ($Form1)
$blub = 1
exitloop
ElseIf $von == $bis Then
MsgBox (4096 , "Warnung" , "die zahlen müssen underschiedlich sein")
ElseIf $von > $bis Then
MsgBox (4096 , "Warnung" , "die erste zahl muss kleiner als die zweite sein")
EndIf
Endselect
WEnd
Endselect
WEnd
Neue version 1.1
neu: mindestens 100 zahlen unterschied
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
$Form = GUICreate('zahlen raten',220,210,-1,-1)
$input = guictrlcreateinput('zahl', 55, 87, 107, 19 , $ES_NUMBER)
$button = guictrlcreatebutton('raten', 60, 140, 100, 30)
$button2 = guictrlcreatebutton('neu', 60, 170, 100, 30)
$label = GUICtrlCreateLabel ("Errate die Zahl" ,75,20)
$label1 = GUICtrlCreateLabel ("zwischen 0 und 1000" ,60,60)
GUISetState(@SW_SHOW, $Form)
$zuege = 0
$secret = Random (0 , 1000 , 1)
$von=0
$bis=0
$blub = 0
While 1
If $blub == 1 Then
GUICtrlDelete ($label1)
$label1 = GUICtrlCreateLabel ("zwischen " & $von & " und " & $bis,60,60)
$blub = 0
EndIf
$msg = GUIGetMsg($Form)
Select
Case $msg=$GUI_EVENT_CLOSE
exit
Case $msg=$button
$zuege += 1
$zahl = GUICtrlRead($input)
If $secret == $zahl Then
MsgBox ( 4096 ,"gewonnen!!!" , "gewonnen!!!" & @CRLF & "du hast " & $zuege & " züge gebraucht" )
ElseIf $secret < $zahl then
MsgBox ( 4096 ,"zu groß" , "zu groß!!!" )
ElseIf $secret > $zahl then
MsgBox ( 4096 ,"zu klein" , "zu klein!!!" )
EndIf
Case $msg=$button2
$secret = Random ($von , $bis , 1)
$zuege = 0
$Form1 = GUICreate('zahlen raten',220,210,-1,-1)
$input1 = guictrlcreateinput('von', 30, 50, 60, 20 ,$ES_NUMBER)
$input2 = guictrlcreateinput('bis', 130, 50, 60, 20 , $ES_NUMBER)
$button3 = guictrlcreatebutton('neu', 60, 145, 94, 26)
GUISetState(@SW_SHOW, $Form1)
$blub = 0
While 2
$msg1 = GUIGetMsg($Form1)
Select
Case $msg1=$GUI_EVENT_CLOSE
exit
Case $msg1=$button3
$von = GUICtrlRead($input1)
$bis = GUICtrlRead($input2)
$bis -= $von
If $bis <= 100 Then
MsgBox (4096 , "Warnung" , "müssen mehr als 100 Zahlen unterschied sein" & @CRLF & "oder sie müssen die zahlen vertauschen")
$von = GUICtrlRead($input1)
$bis = GUICtrlRead($input2)
Elseif $von < $bis Then
$von = GUICtrlRead($input1)
$bis = GUICtrlRead($input2)
$secret = Random ($von , $bis , 1)
$zuege = 0
GUIDelete ($Form1)
$blub = 1
exitloop
EndIf
Endselect
WEnd
Endselect
WEnd
neu version 1.2
autoit.de/wcf/attachment/11710/
neu; mit enter bestätigern ist jetzt möglich und ein bischen überlichtilicher
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
HotKeySet ("{ENTER}", "auswerten")
$Form = GUICreate('zahlen raten',220,250,-1,-1)
$input = guictrlcreateinput('zahl', 55, 100, 107, 19 , $ES_NUMBER)
$button = guictrlcreatebutton('raten', 60, 140, 100, 30)
$button2 = guictrlcreatebutton('neu', 60, 170, 100, 30)
$label = GUICtrlCreateLabel ("Errate die Zahl" ,75,20)
$label1 = GUICtrlCreateLabel ("zwischen 0 und 1000" ,60,40)
$label2 = GUICtrlCreateLabel ("" ,60,60)
GUISetState(@SW_SHOW, $Form)
$schonmall = -1
$zahl = -2
$zuege = 0
$secret = Random (0 , 1000 , 1)
$von=0
$bis=0
$blub = 0
While 1
If $blub == 1 Then
GUICtrlDelete ($label1)
$label1 = GUICtrlCreateLabel ("zwischen " & $von & " und " & $bis,60,40)
$blub = 0
EndIf
$msg = GUIGetMsg($Form)
Select
Case $msg=$GUI_EVENT_CLOSE
exit
Case $msg=$button
auswerten ()
Case $msg=$button2
neu()
Endselect
WEnd
Func neu ()
$secret = Random ($von , $bis , 1)
$zuege = 0
$Form1 = GUICreate('zahlen raten',220,210,-1,-1)
$input1 = guictrlcreateinput('von', 30, 50, 60, 20 ,$ES_NUMBER)
$input2 = guictrlcreateinput('bis', 130, 50, 60, 20 , $ES_NUMBER)
$button3 = guictrlcreatebutton('neu', 60, 145, 94, 26)
GUISetState(@SW_SHOW, $Form1)
$blub = 0
While 2
$msg1 = GUIGetMsg($Form1)
Select
Case $msg1=$GUI_EVENT_CLOSE
exit
Case $msg1=$button3
$von = GUICtrlRead($input1)
$bis = GUICtrlRead($input2)
$bis -= $von
If $bis <= 99 Then
MsgBox (4096 , "Warnung" , "müssen mehr als 100 Zahlen unterschied sein" & @CRLF & "oder sie müssen die zahlen vertauschen")
$von = GUICtrlRead($input1)
$bis = GUICtrlRead($input2)
Elseif $von < $bis Then
$von = GUICtrlRead($input1)
$bis = GUICtrlRead($input2)
$secret = Random ($von , $bis , 1)
$zuege = 0
GUIDelete ($Form1)
$blub = 1
exitloop
EndIf
Endselect
WEnd
EndFunc
Func auswerten ()
$zahl = GUICtrlRead($input)
If $zahl == $schonmall Then
MsgBox ( 4096 ,"schonmall" , "du hast die "& $zahl & " das letzte mal schon eingegeben" )
Else
If $secret == $zahl Then
$zuege += 1
MsgBox ( 4096 ,"gewonnen!!!" , "gewonnen!!!" & @CRLF & "du hast " & $zuege & " züge gebraucht" )
ElseIf $secret < $zahl then
$zuege += 1
GUICtrlDelete ($label2)
$label2 = GUICtrlCreateLabel ("zu groß" ,80,60,100)
GUICtrlSetFont(-1, 16, 400, 0, "MS Sans Serif")
$schonmall = $zahl
ElseIf $secret > $zahl then
$zuege += 1
GUICtrlDelete ($label2)
$label2 = GUICtrlCreateLabel ("zu klein" ,80,60,100)
GUICtrlSetFont(-1, 16, 400, 0, "MS Sans Serif")
$schonmall = $zahl
EndIf
EndIf
EndFunc
vllt hab ihr ja noch ein paar tipps für mich
Gruß Nitrama