Guten Abend
Ich will hier nun mein erstes, kleines Programm vorstellen.
Es ist ein kleines Spiel:
Auf einem 3x3 großen Feld werden nacheinander Farben in zufälliger Reihenfolge und an zufälliger Stelle aufblinken.
Aufgabe ist es diese danach wieder in die richtige Reihenfolge zu bringen, dazu einfach auf die Buttons klicken.
Freue mich auf Meinungen, Verbesserungen und Anregungen.
Bitte geht mit mir nicht so hart ins Gericht
Bin halt ein totaler Anfänger^^
Edit: Variablen werden jetzt vorher deklariert
Hier das Skript:
Spoiler anzeigen
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$anz = 5
$anzcheck = $anz
$code = ""
$answer = ""
$trans = 255
$auf = 0
$Form1 = GUICreate("Farbspiel", 541, 371, 192, 124)
$Label1 = GUICtrlCreateLabel("", 8, 8, 76, 33)
$MenuItem1 = GUICtrlCreateMenu("Start")
$MenuItem2 = GUICtrlCreateMenuItem("Start", $MenuItem1)
$MenuItem3 = GUICtrlCreateMenuItem("Anzahl Farbkombinationen", $MenuItem1)
Global $Button [10]
_Buttons(1,0xFF0000,80,56,121,81)
_Buttons(2,0x666666,208,56,121,81)
_Buttons(3,0x00FF00,336,56,121,81)
_Buttons(4,0x666666,80,144,121,81)
_Buttons(5,0x000000,208,144,121,81)
_Buttons(6,0x666666,336,144,121,81)
_Buttons(7,0xFFFF00,80,232,121,81)
_Buttons(8,0x666666,208,232,121,81)
_Buttons(9,0x0000FF,336,232,121,81)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
If $anzcheck = 0 Then
If $answer = $code Then
MsgBox(0,"Richtig","Die Lösung stimmt")
GUICtrlSetData($label1,"")
$answer = ""
$anzcheck = $anz
Else
MsgBox(0,"Falsche Lösung","Die Lösung ist nicht korrekt")
GUICtrlSetData($label1,"")
$answer = ""
$anzcheck = $anz
EndIf
EndIf
$nMsg = GUIGetMsg()
Switch $nMsg
Case $MenuItem3
$anz = InputBox("Anzahl der Farbkombinationen festlegen","Geben sie die Anzahl der Farbkombinationen ein","5")
$anzcheck = $anz
Case $Button[1]
_Faerben2(1,0xFF0000)
Case $Button[2]
_Faerben2(2,0x666666)
Case $Button[3]
_Faerben2(3,0x00FF00)
Case $Button[4]
_Faerben2(4,0x666666)
Case $Button[5]
_Faerben2(5,0x000000)
Case $Button[6]
_Faerben2(6,0x666666)
Case $Button[7]
_Faerben2(7,0xFFFF00)
Case $Button[8]
_Faerben2(8,0x666666)
Case $Button[9]
_Faerben2(9,0x0000FF)
Case $MenuItem2
GUICtrlSetData($label1,"")
For $y = 1 To 9
GUICtrlSetBkColor($Button[$y],0xFFFFFF)
Next
$code = ""
For $x = 1 To $anz
For $y = 1 To 9
GUICtrlSetBkColor($Button[$y],0xFFFFFF)
GUICtrlSetState($Button[$y],$GUI_DISABLE)
Next
sleep(1000)
$but = Random(1,9,1)
If $but = 1 Then _Faerben(1,0xFF0000)
If $but = 2 Then _Faerben(2,0x666666)
If $but = 3 Then _Faerben(3,0x00FF00)
If $but = 4 Then _Faerben(4,0x666666)
If $but = 5 Then _Faerben(5,0x000000)
If $but = 6 Then _Faerben(6,0x666666)
If $but = 7 Then _Faerben(7,0xFFFF00)
If $but = 8 Then _Faerben(8,0x666666)
If $but = 9 Then _Faerben(9,0x0000FF)
Sleep(1000)
Next
For $y = 1 To 9
GUICtrlSetBkColor($Button[$y],0xFFFFFF)
GUICtrlSetState($Button[$y],$GUI_ENABLE)
Next
$answer = ""
$trans = 255
$auf = 0
WinSetTrans("Farbspiel","",$trans)
GUICtrlSetData($label1,$anz)
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func _Faerben($butt,$farbe)
GUICtrlSetBkColor($Button[$butt],$farbe)
WinSetTrans("Farbspiel","",$trans)
If $auf = 0 Then $trans -= 20
If $auf = 1 Then $trans += 20
If $trans = 255 Then $auf = 0
If $trans = 35 Then $auf = 1
$code &= $butt
EndFunc
Func _Faerben2($butt,$farbe)
$anzcheck -= 1
$answer &= $butt
GUICtrlSetData($label1,$anzcheck)
GUICtrlSetBkColor($Button[$butt],$farbe)
sleep(400)
GUICtrlSetBkColor($Button[$butt],0xFFFFFF)
EndFunc
Func _Buttons($buttonn,$farbe,$left,$top,$breite,$hoehe)
$Button[$buttonn] = GUICtrlCreateButton("", $left, $top, $breite, $hoehe)
GUICtrlSetBkColor($Button[$buttonn],$farbe)
GUICtrlSetState($Button[$buttonn],$GUI_DISABLE)
EndFunc