Hallo an alle,
hier mein erstes Game in Autoit,hab ich eigentlich für meine kleine Tochter gemacht.Hat mich fast ne Woche Arbeit gekostet.
Ist nichts tolles,wäre trotzdem schön,wenn der eine oder andere mal rüberguckt und eventuelle Tipps in Richtung Codedesign etc abgibt.
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <ButtonConstants.au3>
#include <StaticConstants.au3>
#include <Misc.au3>
Global $farbe[10]
$farbe[1]="0xFF0000"
$farbe[2]="0x0000FF"
$farbe[3]="0xC0DCC0"
$farbe[4]="0xFFFF00" ;;;----->>>>> Hier kann man seine Farben definieren
$farbe[5]="0xFF00FF"
$farbe[6]="0xFF9900"
$farbe[7]="0x00FF00"
$farbe[8]="0x00FFFF"
$farbe[9]="0x000000"
Global $richtig=0
Global $farbeneu=0xFFFFFF
Global $starty=784
Global $starty1=800
Global $aFarben[4]
Global $check[4]
Global $farbbutton[4]
zufallsfarben()
#Region ### START Koda GUI section ### Form=
$Fo1 = GUICreate("", 513, 473, 192, 124)
$Bu1 = GUICtrlCreateButton("Weiter", 328, 384, 161, 65, $WS_GROUP)
GUICtrlSetFont(-1, 22, 400, 0, "Comic Sans MS")
$box1 = GUICtrlCreateCheckbox("", 88, 74, 17, 33,$BS_AUTO3STATE)
$box2 = GUICtrlCreateCheckbox("", 88, 107, 17, 33,$BS_AUTO3STATE)
$box3 = GUICtrlCreateCheckbox("", 88, 139, 17, 33,$BS_AUTO3STATE)
$Label1 = GUICtrlCreateLabel("Farbe ist nicht vorhanden", 120, 79, 191, 27)
GUICtrlSetFont(-1, 12, 400, 0, "Comic Sans MS")
$Label2 = GUICtrlCreateLabel("Farbe ist vorhanden,aber an anderer Stelle", 120, 113, 320, 27)
GUICtrlSetFont(-1, 12, 400, 0, "Comic Sans MS")
$Label3 = GUICtrlCreateLabel("Farbe ist richtig", 120, 145, 126, 27)
GUICtrlSetFont(-1, 12, 400, 0, "Comic Sans MS")
guictrlsetstate($box1,$GUI_UNCHECKED)
guictrlsetstate($box3,$GUI_CHECKED)
guictrlsetstate($box2,$GUI_INDETERMINATE)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Bu1
GUIDelete($Fo1)
ExitLoop
EndSwitch
WEnd
#cs
for $a=0 to 3
ConsoleWrite($aFarben[$a]&@CR) ;;;;----------->>>>>>>>CHEAT in Konsole
Next
#ce
#Region ### START Koda GUI section ### Form=
$Form1_1 = GUICreate("", 461, 855, 323, 80,$WS_POPUP)
$3 = GUICtrlCreateLabel("", 104, $starty, 65, 65)
GUICtrlSetBkColor(-1,$farbeneu)
$4 = GUICtrlCreateLabel("", 199, $starty, 65, 65)
GUICtrlSetBkColor(-1,$farbeneu)
$5 = GUICtrlCreateLabel("", 288, $starty, 65, 65)
GUICtrlSetBkColor(-1,$farbeneu)
$6 = GUICtrlCreateLabel("", 383, $starty, 65, 65)
GUICtrlSetBkColor(-1,$farbeneu)
$Checkbox1 = GUICtrlCreateCheckbox("", 16, $starty1, 17, 17,$BS_AUTO3STATE)
$Checkbox2 = GUICtrlCreateCheckbox("", 35, $starty1, 17, 17,$BS_AUTO3STATE)
$Checkbox3 = GUICtrlCreateCheckbox("", 55, $starty1, 17, 17,$BS_AUTO3STATE)
$Checkbox4 = GUICtrlCreateCheckbox("", 74, $starty1, 17, 17,$BS_AUTO3STATE)
global $fertig=GUICtrlCreateButton("Fertig",20,$starty1+25,70,25)
for $a=7 to 10
GUICtrlSetState($a,$GUI_HIDE)
$b=$a-7
$check[$b]=$a
$farbbutton[$b]=$a-4
Next
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
finishcheck($richtig)
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $3
colorchooser($3)
Case $4
colorchooser($4)
Case $5
colorchooser($5)
Case $6
colorchooser($6)
case $fertig
farbevergleichen($aFarben,$farbbutton,$check)
EndSwitch
WEnd
Func finishcheck(ByRef $richtig)
$control=ControlGetPos ( $Form1_1, "",$farbbutton[1])
if $control[1]<10 Then
MsgBox(0,"","Nicht geschafft",3)
Exit
endif
if $richtig=4 then
MsgBox(0,"","FERTIG",3)
Exit
endif
EndFunc
func colorchooser(ByRef $taste)
$fenster=WinGetPos($Form1_1)
$control=ControlGetPos ( $Form1_1, "",$taste)
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("", 175, 175,$control[0]+$fenster[0],$control[1]-110,$WS_POPUP)
GUISetBkColor(0xEEEFF7)
GUISetFont(4,100,"","Comic Sans Ms")
$Button1 =GUICtrlCreateButton($farbe[1], 8, 8, 41, 41)
GUICtrlSetBkColor(-1, $farbe[1])
GUICtrlSetColor(-1, $farbe[1])
$Button2 = GUICtrlCreateButton($farbe[2], 8, 64, 41, 41)
GUICtrlSetBkColor(-1, $farbe[2])
GUICtrlSetColor(-1,$farbe[2])
$Button3 = GUICtrlCreateButton($farbe[3], 8, 128, 41, 41)
GUICtrlSetBkColor(-1,$farbe[3])
GUICtrlSetColor(-1,$farbe[3])
$Button4 = GUICtrlCreateButton($farbe[4], 64, 8, 41, 41)
GUICtrlSetBkColor(-1,$farbe[4])
GUICtrlSetColor(-1,$farbe[4])
$Button5 = GUICtrlCreateButton($farbe[5], 64, 64, 41, 41)
GUICtrlSetBkColor(-1,$farbe[5])
GUICtrlSetColor(-1,$farbe[5])
$Button6 = GUICtrlCreateButton($farbe[6], 64, 128, 41, 41)
GUICtrlSetBkColor(-1,$farbe[6])
GUICtrlSetColor(-1,$farbe[6])
$Button7 = GUICtrlCreateButton($farbe[7], 120, 8, 41, 41)
GUICtrlSetBkColor(-1,$farbe[7])
GUICtrlSetColor(-1,$farbe[7])
$Button8 = GUICtrlCreateButton($farbe[8], 120, 64, 41, 41)
GUICtrlSetBkColor(-1,$farbe[8])
GUICtrlSetColor(-1,$farbe[8])
$Button9 = GUICtrlCreateButton($farbe[9], 120, 128, 41, 41)
GUICtrlSetBkColor(-1,$farbe[9])
GUICtrlSetColor(-1,$farbe[9])
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
while 1
$mauswo=GUIGetCursorInfo ($Form1)
$nMsg = GUIGetMsg(1)
Switch $nMsg[0]
Case $GUI_EVENT_CLOSE
GUIDelete($Form1)
ExitLoop
EndSwitch
Select
Case $nMsg[2]
GUICtrlSetBKColor($taste,GUICtrlRead($nMsg[0]))
GUICtrlSetColor($taste,GUICtrlRead($nMsg[0]))
GUICtrlSetData($taste,Hex(GUICtrlRead($nMsg[0]),6))
GUIDelete($Form1)
ExitLoop
EndSelect
WEnd
EndFunc
Func zufallsfarben()
$sFarben="123456789"
For $Index=0 To 3
$aFarben[$Index]=StringMid($sFarben,Random(1,StringLen($sFarben),1),1)
$sFarben = StringReplace($sFarben,$aFarben[$Index],"")
Next
for $a=0 to 3
$aFarben[$a]=$aFarben[$a]
Next
Return $aFarben
EndFunc
Func farbevergleichen(ByRef $aFarben,$farbbutton,$check)
for $a=0 to 3
GUICtrlSetState($check[$a],$GUI_SHOW)
Next
for $a=0 to 3
GUICtrlSetState($check[$a],$GUI_UNCHECKED)
$testbutton="0x"&GUICtrlRead($farbbutton[$a])
for $b=0 to 3
if $testbutton=$farbe[$aFarben[$b]] then
GUICtrlSetState($check[$a],$GUI_INDETERMINATE)
EndIf
Next
Next
$richtig=0
for $a=0 to 3
$testbutton="0x"&GUICtrlRead($farbbutton[$a])
if $testbutton=$farbe[$aFarben[$a]] then
GUICtrlSetState($check[$a],$GUI_CHECKED)
$richtig+=1
EndIf
Next
for $a=0 to 3
$control=ControlGetPos ( $Form1_1, "",$farbbutton[$a])
$control1=ControlGetPos ( $Form1_1, "",$check[$a])
$testbutton="0x"&GUICtrlRead($farbbutton[$a])
GUICtrlSetPos($farbbutton[$a],$control[0],$control[1]-85,$control[2],$control[3])
GUICtrlSetPos($check[$a],$control1[0],$control1[1]-85,$control1[2],$control1[3])
GUICtrlCreateLabel("",$control[0],$control[1],$control[2],$control[3])
GUICtrlSetBkColor(-1,$testbutton)
Next
$control=ControlGetPos ( $Form1_1, "",$fertig)
GUICtrlSetPos($fertig,$control[0],$control[1]-85,$control[2],$control[3])
Return($richtig)
EndFunc
Edit Oscar: AutoIt-Tags gesetzt.