Mehrere GUIs - Probleme (?!)

  • Hey Community,

    manche haben bestimmt schon meinen Thread unter "Skripte" gesehen...
    Da findet man mein eigenes Spiel. Nun wollte ich das Spiel weiter ausbauen,
    also: Mehrere Level, Startbildschirm, etc.
    Und jetzt kommen für mich unerklärliche Probleme wie z.B.

    Spoiler anzeigen

    C:\AutoIt3\Include\ButtonConstants.au3 (11) : ==> Can not redeclare a constant.:
    Global Const $BS_GROUPBOX = 0x0007
    Global Const ^ ERROR


    Starten kann man es, aber der macht nicht richtig was er soll.
    Kann mir da einer Helfen?

    Hier der Source-Code (etwas unordentlich, ich weiss):

    Spoiler anzeigen
    [autoit]


    _Start()

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _Lvl1()
    Local $Edit[21]
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=C:\AutoIt3\SciTE\Koda\Forms\Game1.kxf
    $Form1 = GUICreate("Level 1", 378, 227, Random(4,@DesktopWidth - 100),Random(4,@DesktopHeight - 100))
    GUISetBkColor(0x004E98)
    GUISetCursor("3")
    $Edit[0] = GUICtrlCreateEdit("", 0, 0, 41, 89, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[1] = GUICtrlCreateEdit("", 0, 112, 41, 113, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[2] = GUICtrlCreateEdit("", 88, 80, 57, 49, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[3] = GUICtrlCreateEdit("", 144, 0, 57, 73, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[4] = GUICtrlCreateEdit("", 40, 144, 57, 49, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[5] = GUICtrlCreateEdit("", 160, 128, 17, 97, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[6] = GUICtrlCreateEdit("", 184, 72, 17, 57, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[7] = GUICtrlCreateEdit("", 176, 144, 89, 17, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[8] = GUICtrlCreateEdit("", 200, 112, 89, 17, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[9] = GUICtrlCreateEdit("", 264, 144, 89, 17, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[10] = GUICtrlCreateEdit("", 304, 64, 49, 81, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[11] = GUICtrlCreateEdit("", 216, 64, 89, 33, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[12] = GUICtrlCreateEdit("", 256, 32, 73, 33, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[13] = GUICtrlCreateEdit("", 200, 0, 25, 49, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[14] = GUICtrlCreateEdit("", 224, 0, 89, 17, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[15] = GUICtrlCreateEdit("", 312, 0, 65, 17, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[16] = GUICtrlCreateEdit("", 184, 168, 33, 33, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[17] = GUICtrlCreateEdit("", 40, 0, 105, 17, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[18] = GUICtrlCreateEdit("", 40, 208, 121, 17, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[19] = GUICtrlCreateEdit("", 360, 16, 17, 209, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[20] = GUICtrlCreateEdit("", 176, 208, 185, 17, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $Mouse = GUIGetCursorInfo()
    For $i = 0 To 20
    If $Mouse[4] = $Edit[$i] Then
    If $Mouse[4] = $Edit[16] Then
    If _Err("Du hast das Level geschafft!",0,1) = 1 Then
    GUIDelete ($Form1)
    MsgBox (0,"LEVEL","2")
    EndIf
    Else
    _Err("Du hast einen schwarzen Kasten berührt!",1,0)
    EndIf
    EndIf
    Next
    WEnd
    EndFunc
    Func _Start()
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=E:\Dokumente und Einstellungen\Sven.CHANGEME\Desktop\AutoIt\Schwarze Kästen\Startbildschirm.kxf
    Local $Form1 = GUICreate("Der Weiße Kasten", 346, 265, 275, 248)
    GUISetBkColor(0x000000)
    Local $Label1 = GUICtrlCreateLabel("Willkommen zu dem Spiel:", 16, 8, 172, 23)
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    GUICtrlSetColor(-1, 0xFFFFFF)
    Local $Label2 = GUICtrlCreateLabel("Der Weiße Kasten!", 32, 32, 121, 23)
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    GUICtrlSetColor(-1, 0xFFFFFF)
    Local $Label3 = GUICtrlCreateLabel("Die Regeln:", 184, 80, 76, 23)
    GUICtrlSetFont(-1, 10, 800, 4, "Comic Sans MS")
    GUICtrlSetColor(-1, 0xFFFFFF)
    Local $Label4 = GUICtrlCreateLabel("Berühre keinen schwarzen", 144, 104, 168, 23)
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    GUICtrlSetColor(-1, 0xFFFFFF)
    Local $Label5 = GUICtrlCreateLabel("Kasten!", 144, 120, 48, 23)
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    GUICtrlSetColor(-1, 0xFFFFFF)
    Local $Label6 = GUICtrlCreateLabel("Erreiche den weißen Kasten,", 144, 144, 185, 23)
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    GUICtrlSetColor(-1, 0xFFFFFF)
    Local $Label7 = GUICtrlCreateLabel("um zu gewinnen.", 144, 160, 108, 23)
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    GUICtrlSetColor(-1, 0xFFFFFF)
    Local $Label8 = GUICtrlCreateLabel("Spiel starten", 16, 232, 130, 28)
    GUICtrlSetFont(-1, 16, 800, 0, "Arial")
    GUICtrlSetColor(-1, 0xFFFFFF)
    Local $Label9 = GUICtrlCreateLabel("Spiel beenden", 176, 232, 147, 28)
    GUICtrlSetFont(-1, 16, 800, 0, "Arial")
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $Maus = GUIGetCursorInfo ()
    If $Maus[4] = $Label8 And $Maus[2] = 1 Then
    GUIDelete($Form1)
    _Lvl1()
    ElseIf $Maus[4] = $Label9 And $Maus[2] = 1 Then
    Exit
    EndIf
    WEnd
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _Err($sText, $iButton1 = 0, $iButton2 = 1)
    Local $WS_GROUP
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=E:\Dokumente und Einstellungen\Sven.CHANGEME\Desktop\AutoIt\Schwarze Kästen\ErrLvlUp.kxf
    Local $Form2 = GUICreate("Der Weiße Kasten", 228, 113, 302, 218)
    GUISetBkColor(0x000000)
    Local $Label1 = GUICtrlCreateLabel($sText, 8, 8, 212, 44)
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    GUICtrlSetColor(-1, 0xFFFFFF)
    Local $Button1 = GUICtrlCreateButton("Level wiederholen", 8, 64, 97, 33, $WS_GROUP)
    If $iButton1 = 0 Then GUICtrlSetState(-1, $GUI_DISABLE)
    Local $Button2 = GUICtrlCreateButton("Nächstes Level", 112, 64, 105, 33, $WS_GROUP)
    If $iButton2 = 0 Then GUICtrlSetState(-1, $GUI_DISABLE)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg ()
    Switch $nMsg
    Case $Button1
    GUIDelete ($Form2)
    Return 0
    Case $Button2
    GUIDelete ($Form2)
    Return 1
    EndSwitch
    WEnd
    EndFunc

    [/autoit]

    Schonmal Danke an alle, die helfen können :)

    Einmal editiert, zuletzt von Zacharja (15. November 2009 um 17:39)

  • Man sollte Includes immer an den Anfang eines Scripts stellen, um solche Fehler zu vermeiden. Denn wenn ButtonConstants wie bei dir in einer Funktion steht, und die Funktion erneut aufgerufen wird, wird versucht, die als "Const"(Konstante) deklarierte Variable neu zu deklarieren, was aber nicht geht. Also einfach:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <EditConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    _Start()

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _Lvl1()
    Local $Edit[21]
    #Region ### START Koda GUI section ### Form=C:\AutoIt3\SciTE\Koda\Forms\Game1.kxf
    $Form1 = GUICreate("Level 1", 378, 227, Random(4,@DesktopWidth - 100),Random(4,@DesktopHeight - 100))
    GUISetBkColor(0x004E98)
    GUISetCursor("3")
    $Edit[0] = GUICtrlCreateEdit("", 0, 0, 41, 89, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[1] = GUICtrlCreateEdit("", 0, 112, 41, 113, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[2] = GUICtrlCreateEdit("", 88, 80, 57, 49, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[3] = GUICtrlCreateEdit("", 144, 0, 57, 73, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[4] = GUICtrlCreateEdit("", 40, 144, 57, 49, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[5] = GUICtrlCreateEdit("", 160, 128, 17, 97, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[6] = GUICtrlCreateEdit("", 184, 72, 17, 57, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[7] = GUICtrlCreateEdit("", 176, 144, 89, 17, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[8] = GUICtrlCreateEdit("", 200, 112, 89, 17, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[9] = GUICtrlCreateEdit("", 264, 144, 89, 17, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[10] = GUICtrlCreateEdit("", 304, 64, 49, 81, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[11] = GUICtrlCreateEdit("", 216, 64, 89, 33, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[12] = GUICtrlCreateEdit("", 256, 32, 73, 33, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[13] = GUICtrlCreateEdit("", 200, 0, 25, 49, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[14] = GUICtrlCreateEdit("", 224, 0, 89, 17, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[15] = GUICtrlCreateEdit("", 312, 0, 65, 17, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[16] = GUICtrlCreateEdit("", 184, 168, 33, 33, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[17] = GUICtrlCreateEdit("", 40, 0, 105, 17, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[18] = GUICtrlCreateEdit("", 40, 208, 121, 17, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[19] = GUICtrlCreateEdit("", 360, 16, 17, 209, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[20] = GUICtrlCreateEdit("", 176, 208, 185, 17, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $Mouse = GUIGetCursorInfo()
    For $i = 0 To 20
    If $Mouse[4] = $Edit[$i] Then
    If $Mouse[4] = $Edit[16] Then
    If _Err("Du hast das Level geschafft!",0,1) = 1 Then
    GUIDelete ($Form1)
    MsgBox (0,"LEVEL","2")
    EndIf
    Else
    _Err("Du hast einen schwarzen Kasten berührt!",1,0)
    EndIf
    EndIf
    Next
    WEnd
    EndFunc
    Func _Start()
    #Region ### START Koda GUI section ### Form=E:\Dokumente und Einstellungen\Sven.CHANGEME\Desktop\AutoIt\Schwarze Kästen\Startbildschirm.kxf
    Local $Form1 = GUICreate("Der Weiße Kasten", 346, 265, 275, 248)
    GUISetBkColor(0x000000)
    Local $Label1 = GUICtrlCreateLabel("Willkommen zu dem Spiel:", 16, 8, 172, 23)
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    GUICtrlSetColor(-1, 0xFFFFFF)
    Local $Label2 = GUICtrlCreateLabel("Der Weiße Kasten!", 32, 32, 121, 23)
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    GUICtrlSetColor(-1, 0xFFFFFF)
    Local $Label3 = GUICtrlCreateLabel("Die Regeln:", 184, 80, 76, 23)
    GUICtrlSetFont(-1, 10, 800, 4, "Comic Sans MS")
    GUICtrlSetColor(-1, 0xFFFFFF)
    Local $Label4 = GUICtrlCreateLabel("Berühre keinen schwarzen", 144, 104, 168, 23)
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    GUICtrlSetColor(-1, 0xFFFFFF)
    Local $Label5 = GUICtrlCreateLabel("Kasten!", 144, 120, 48, 23)
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    GUICtrlSetColor(-1, 0xFFFFFF)
    Local $Label6 = GUICtrlCreateLabel("Erreiche den weißen Kasten,", 144, 144, 185, 23)
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    GUICtrlSetColor(-1, 0xFFFFFF)
    Local $Label7 = GUICtrlCreateLabel("um zu gewinnen.", 144, 160, 108, 23)
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    GUICtrlSetColor(-1, 0xFFFFFF)
    Local $Label8 = GUICtrlCreateLabel("Spiel starten", 16, 232, 130, 28)
    GUICtrlSetFont(-1, 16, 800, 0, "Arial")
    GUICtrlSetColor(-1, 0xFFFFFF)
    Local $Label9 = GUICtrlCreateLabel("Spiel beenden", 176, 232, 147, 28)
    GUICtrlSetFont(-1, 16, 800, 0, "Arial")
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $Maus = GUIGetCursorInfo ()
    If $Maus[4] = $Label8 And $Maus[2] = 1 Then
    GUIDelete($Form1)
    _Lvl1()
    ElseIf $Maus[4] = $Label9 And $Maus[2] = 1 Then
    Exit
    EndIf
    WEnd
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _Err($sText, $iButton1 = 0, $iButton2 = 1)
    Local $WS_GROUP
    #Region ### START Koda GUI section ### Form=E:\Dokumente und Einstellungen\Sven.CHANGEME\Desktop\AutoIt\Schwarze Kästen\ErrLvlUp.kxf
    Local $Form2 = GUICreate("Der Weiße Kasten", 228, 113, 302, 218)
    GUISetBkColor(0x000000)
    Local $Label1 = GUICtrlCreateLabel($sText, 8, 8, 212, 44)
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    GUICtrlSetColor(-1, 0xFFFFFF)
    Local $Button1 = GUICtrlCreateButton("Level wiederholen", 8, 64, 97, 33, $WS_GROUP)
    If $iButton1 = 0 Then GUICtrlSetState(-1, $GUI_DISABLE)
    Local $Button2 = GUICtrlCreateButton("Nächstes Level", 112, 64, 105, 33, $WS_GROUP)
    If $iButton2 = 0 Then GUICtrlSetState(-1, $GUI_DISABLE)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg ()
    Switch $nMsg
    Case $Button1
    GUIDelete ($Form2)
    Return 0
    Case $Button2
    GUIDelete ($Form2)
    Return 1
    EndSwitch
    WEnd
    EndFunc

    [/autoit]

    Einfach alle Includes an dne Anfang verschoben und dann geguckt, das alle nur einmal da sind.


    Edit: Zum unordentlich: Einfach einmal Tidy drüberlaufen lassen ;)

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <EditConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    _Start()

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _Lvl1()
    Local $Edit[21]
    #Region ### START Koda GUI section ### Form=C:\AutoIt3\SciTE\Koda\Forms\Game1.kxf
    $Form1 = GUICreate("Level 1", 378, 227, Random(4, @DesktopWidth - 100), Random(4, @DesktopHeight - 100))
    GUISetBkColor(0x004E98)
    GUISetCursor("3")
    $Edit[0] = GUICtrlCreateEdit("", 0, 0, 41, 89, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[1] = GUICtrlCreateEdit("", 0, 112, 41, 113, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[2] = GUICtrlCreateEdit("", 88, 80, 57, 49, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[3] = GUICtrlCreateEdit("", 144, 0, 57, 73, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[4] = GUICtrlCreateEdit("", 40, 144, 57, 49, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[5] = GUICtrlCreateEdit("", 160, 128, 17, 97, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[6] = GUICtrlCreateEdit("", 184, 72, 17, 57, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[7] = GUICtrlCreateEdit("", 176, 144, 89, 17, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[8] = GUICtrlCreateEdit("", 200, 112, 89, 17, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[9] = GUICtrlCreateEdit("", 264, 144, 89, 17, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[10] = GUICtrlCreateEdit("", 304, 64, 49, 81, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[11] = GUICtrlCreateEdit("", 216, 64, 89, 33, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[12] = GUICtrlCreateEdit("", 256, 32, 73, 33, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[13] = GUICtrlCreateEdit("", 200, 0, 25, 49, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[14] = GUICtrlCreateEdit("", 224, 0, 89, 17, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[15] = GUICtrlCreateEdit("", 312, 0, 65, 17, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[16] = GUICtrlCreateEdit("", 184, 168, 33, 33, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN))
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[17] = GUICtrlCreateEdit("", 40, 0, 105, 17, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[18] = GUICtrlCreateEdit("", 40, 208, 121, 17, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[19] = GUICtrlCreateEdit("", 360, 16, 17, 209, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Edit[20] = GUICtrlCreateEdit("", 176, 208, 185, 17, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $Mouse = GUIGetCursorInfo()
    For $i = 0 To 20
    If $Mouse[4] = $Edit[$i] Then
    If $Mouse[4] = $Edit[16] Then
    If _Err("Du hast das Level geschafft!", 0, 1) = 1 Then
    GUIDelete($Form1)
    MsgBox(0, "LEVEL", "2")
    EndIf
    Else
    _Err("Du hast einen schwarzen Kasten berührt!", 1, 0)
    EndIf
    EndIf
    Next
    WEnd
    EndFunc ;==>_Lvl1
    Func _Start()
    #Region ### START Koda GUI section ### Form=E:\Dokumente und Einstellungen\Sven.CHANGEME\Desktop\AutoIt\Schwarze Kästen\Startbildschirm.kxf
    Local $Form1 = GUICreate("Der Weiße Kasten", 346, 265, 275, 248)
    GUISetBkColor(0x000000)
    Local $Label1 = GUICtrlCreateLabel("Willkommen zu dem Spiel:", 16, 8, 172, 23)
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    GUICtrlSetColor(-1, 0xFFFFFF)
    Local $Label2 = GUICtrlCreateLabel("Der Weiße Kasten!", 32, 32, 121, 23)
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    GUICtrlSetColor(-1, 0xFFFFFF)
    Local $Label3 = GUICtrlCreateLabel("Die Regeln:", 184, 80, 76, 23)
    GUICtrlSetFont(-1, 10, 800, 4, "Comic Sans MS")
    GUICtrlSetColor(-1, 0xFFFFFF)
    Local $Label4 = GUICtrlCreateLabel("Berühre keinen schwarzen", 144, 104, 168, 23)
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    GUICtrlSetColor(-1, 0xFFFFFF)
    Local $Label5 = GUICtrlCreateLabel("Kasten!", 144, 120, 48, 23)
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    GUICtrlSetColor(-1, 0xFFFFFF)
    Local $Label6 = GUICtrlCreateLabel("Erreiche den weißen Kasten,", 144, 144, 185, 23)
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    GUICtrlSetColor(-1, 0xFFFFFF)
    Local $Label7 = GUICtrlCreateLabel("um zu gewinnen.", 144, 160, 108, 23)
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    GUICtrlSetColor(-1, 0xFFFFFF)
    Local $Label8 = GUICtrlCreateLabel("Spiel starten", 16, 232, 130, 28)
    GUICtrlSetFont(-1, 16, 800, 0, "Arial")
    GUICtrlSetColor(-1, 0xFFFFFF)
    Local $Label9 = GUICtrlCreateLabel("Spiel beenden", 176, 232, 147, 28)
    GUICtrlSetFont(-1, 16, 800, 0, "Arial")
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $Maus = GUIGetCursorInfo()
    If $Maus[4] = $Label8 And $Maus[2] = 1 Then
    GUIDelete($Form1)
    _Lvl1()
    ElseIf $Maus[4] = $Label9 And $Maus[2] = 1 Then
    Exit
    EndIf
    WEnd
    EndFunc ;==>_Start

    [/autoit] [autoit][/autoit] [autoit]

    Func _Err($sText, $iButton1 = 0, $iButton2 = 1)
    Local $WS_GROUP
    #Region ### START Koda GUI section ### Form=E:\Dokumente und Einstellungen\Sven.CHANGEME\Desktop\AutoIt\Schwarze Kästen\ErrLvlUp.kxf
    Local $Form2 = GUICreate("Der Weiße Kasten", 228, 113, 302, 218)
    GUISetBkColor(0x000000)
    Local $Label1 = GUICtrlCreateLabel($sText, 8, 8, 212, 44)
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    GUICtrlSetColor(-1, 0xFFFFFF)
    Local $Button1 = GUICtrlCreateButton("Level wiederholen", 8, 64, 97, 33, $WS_GROUP)
    If $iButton1 = 0 Then GUICtrlSetState(-1, $GUI_DISABLE)
    Local $Button2 = GUICtrlCreateButton("Nächstes Level", 112, 64, 105, 33, $WS_GROUP)
    If $iButton2 = 0 Then GUICtrlSetState(-1, $GUI_DISABLE)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $Button1
    GUIDelete($Form2)
    Return 0
    Case $Button2
    GUIDelete($Form2)
    Return 1
    EndSwitch
    WEnd
    EndFunc ;==>_Err

    [/autoit]
  • Danke Arkaneus ( Hoffe, das ist richtig geschrieben ;) )
    Alleine wäre ich nicht drauf gekommen :D
    So, Präfix = Gelöst :O