Stadt Land Fluss - The Game

  • So, Heute ist es soweit das ich mich traue mal eine sache von mir vorzustellen... :D

    Ich hoffe ich werde nicht so viel Kritik abkriegen.. :S
    Aber ich muss sagen das ich echt Stolz bin.. hab jetzt knapp 4 Stunden dafür gebraucht.

    Die meisten von euch werden das nicht als besonders schwer oder toll ansehen...
    aber hey, jeder fängt mal klein an :huh:

    Also gebt mir verdammt nochmal n Lob ! :thumbup:

    Download:

    Spoiler anzeigen


    autoit.de/wcf/attachment/22142/

    autoit.de/wcf/attachment/22147/

    autoit.de/wcf/attachment/22167/

    autoit.de/wcf/attachment/22197/
    (v2.0 allerdings mit installer (wenn die Daten noch nicht da sind) werden die .txts & .au3 eigenständig im selben Ordner wo die .exe sich befindet installiert.)

    Nur das Script:
    (allerdings brauch der Script noch die .txt's daher der upload)

    Spoiler anzeigen
    [autoit]

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

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

    Opt("GuiOnEventMode", 1)

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

    Global $Loop = 0, $Active = 0, $Timer = 0, $TimeCount = 0

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

    If Not FileExists(@ScriptDir&"/SLF.au3") Then
    MsgBox(0,"Installieren","Alle Datein wurden erfolgreich installiert.")
    FileInstall("C:\Dokumente und Einstellungen\User_06\Desktop\SLF\Stadt.txt",@ScriptDir &"\Stadt.txt")
    FileInstall("C:\Dokumente und Einstellungen\User_06\Desktop\SLF\Land.txt",@ScriptDir&"\Land.txt")
    FileInstall("C:\Dokumente und Einstellungen\User_06\Desktop\SLF\Fluss.txt",@ScriptDir&"\Fluss.txt")
    FileInstall("C:\Dokumente und Einstellungen\User_06\Desktop\SLF\SLF.au3",@ScriptDir&"\SLF.au3")
    Endif

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

    #Region ### START Koda GUI section ### Form=
    $SLF = GUICreate("SLF", 539, 242, 379, 172)

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

    ;~ Computer ergebnisse
    $Snpc = GUICtrlCreateInput("", 24, 96, 153, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_READONLY))
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Lnpc = GUICtrlCreateInput("", 192, 96, 153, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_READONLY))
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Fnpc = GUICtrlCreateInput("", 360, 96, 153, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_READONLY))
    GUICtrlSetState(-1, $GUI_DISABLE)

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

    ;~ Spieler ergebnisse
    $Spl = GUICtrlCreateInput("", 24, 128, 153, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Lpl = GUICtrlCreateInput("", 192, 128, 153, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Fpl = GUICtrlCreateInput("", 360, 128, 153, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
    GUICtrlSetState(-1, $GUI_DISABLE)

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

    ;~ Buttons
    $Start = GUICtrlCreateButton("Start", 24, 16, 75, 25)
    $Stop = GUICtrlCreateButton("Stop", 440, 16, 75, 25)
    $Info = GUICtrlCreateButton("Info", 24, 200, 75, 25)
    $Reset = GUICtrlCreateButton("Neustart", 440, 200, 75, 25)

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

    ;~ Dyn Text
    $Buchstabe = GUICtrlCreateLabel("Buchstabe", 104, 24, 327, 17, $SS_CENTER)
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    $WinLose = GUICtrlCreateLabel("", 192, 208, 150, 17, $SS_CENTER)
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")

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

    ;~ Static Text
    $Stadt = GUICtrlCreateLabel("Stadt", 32, 72, 141, 17, $SS_CENTER)
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    $Land = GUICtrlCreateLabel("Land", 200, 72, 140, 17, $SS_CENTER)
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    $Fluss = GUICtrlCreateLabel("Fluss", 360, 72, 148, 17, $SS_CENTER)
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")

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

    ;~ Zeit
    $Time = GUICtrlCreateLabel("", 192, 160, 148, 28, $SS_CENTER)
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")

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

    GUICtrlSetOnEvent($Start, "_Start")
    GUICtrlSetOnEvent($Stop, "_Stop")
    GUICtrlSetOnEvent($Info, "_Info")
    GUICtrlSetOnEvent($Reset, "_Reset")

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

    GUICtrlSetState($Stop, $GUI_DISABLE)
    GUICtrlSetState($Reset, $GUI_DISABLE)

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

    While 1
    Sleep (20)
    If $Active = 1 Then
    $Random = Chr(Random(Asc("A"), Asc("Z"), 1))
    GUICtrlSetData($Buchstabe, ""&$Random)
    EndIf

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

    If $Timer = 1 Then
    Sleep (1000)
    $TimeCount += 1
    $TimeCount = Round($TimeCount, 0)
    GUICtrlSetData($Time, "sek: "&$TimeCount)
    EndIf
    WEnd ; Timer & Buchstabe

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

    Func _Start()
    $Active = 1
    GUICtrlSetState($Stop, $GUI_ENABLE)
    GUICtrlSetState($Start, $GUI_DISABLE)
    EndFunc ; Start

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

    Func _Stop()
    $Active = 0

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

    If $Loop = 1 Then
    $Timer = 0

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

    $Towns = _StringBetween(FileRead("Stadt.txt"), $Random & "=", ";")
    $Towns = StringSplit($Towns[0], ",")
    GUICtrlSetData($Snpc, ($Towns[Random(1, $Towns[0], 1)]))

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

    $Country = _StringBetween(FileRead("Land.txt"), $Random & "=", ";")
    $Country = StringSplit($Country[0], ",")
    GUICtrlSetData($Lnpc, ($Country[Random(1, $Country[0], 1)]))

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

    $River = _StringBetween(FileRead("Fluss.txt"), $Random & "=", ";")
    $River = StringSplit($River[0], ",")
    GUICtrlSetData($Fnpc, ($River[Random(1, $River[0], 1)]))

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

    GUICtrlSetData($WinLose, "Neues Spiel ?")
    GUICtrlSetState($Stop, $GUI_DISABLE)
    GUICtrlSetState($Reset, $GUI_ENABLE)
    GUICtrlSetState($Spl, $GUI_DISABLE)
    GUICtrlSetState($Lpl, $GUI_DISABLE)
    GUICtrlSetState($Fpl, $GUI_DISABLE)
    EndIf ; Stadt, Land, Fluss

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

    If $Loop = 0 Then
    $Loop += 1
    GUICtrlSetState($Spl, $GUI_ENABLE)
    GUICtrlSetState($Lpl, $GUI_ENABLE)
    GUICtrlSetState($Fpl, $GUI_ENABLE)
    $Timer = 1
    GUICtrlSetData($Time, "sek: 0")
    EndIf
    EndFunc ; Stop, FileRead, Stop

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

    Func _Reset()
    $Loop = 0
    $Active = 0
    $Timer = 0
    $TimeCount = 0

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

    GUICtrlSetData($Time, "")
    GUICtrlSetData($Spl, "")
    GUICtrlSetData($Lpl, "")
    GUICtrlSetData($Fpl, "")
    GUICtrlSetData($Snpc, "")
    GUICtrlSetData($Lnpc, "")
    GUICtrlSetData($Fnpc, "")
    GUICtrlSetData($WinLose, "")
    GUICtrlSetData($Buchstabe, "Buchstabe")
    GUICtrlSetState($Stop, $GUI_DISABLE)
    GUICtrlSetState($Reset, $GUI_DISABLE)
    GUICtrlSetState($Start, $GUI_ENABLE)
    EndFunc ; Neustart

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

    Func _Info()
    MsgBox(0,"Coded by ThirtySix","Version 2.1")
    EndFunc ; Info

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

    Func _Exit()
    Exit
    EndFunc

    [/autoit]
  • Bitte noch Global verwenden bei der Deklaration. Die Klammern bei $NpcS = ("") kannst du auch weglassen, macht man nicht.

    Ansonsten...Gut.

    Achja. Es heißt das Script.

  • Bitte noch Global verwenden bei der Deklaration. Die Klammern bei $NpcS = ("") kannst du auch weglassen, macht man nicht.
    Ansonsten...Gut.
    Achja. Es heißt das Script.


    Done. :thumbup:
    Warum eig Global ?
    macht ja jetzt in diesem fall kein unterschied 8|

    Wer Rechtschreibfehler findet darf sie behalten. :D

  • Bitte merk dir eins: Wenn du dich beim Programmieren dabei erwischst dass du ein und Dinge wiederholst/kopierst - dann machst du etwas falsch. ;)
    Wenn du deine "Datenbanken" so abänderst:

    Spoiler anzeigen

    Sparst du ganze 444 Zeilen! :whistling:
    Hier ein kleines Beispiel:

    Spoiler anzeigen
    [autoit]

    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <String.au3>
    #include <Array.au3>
    Opt("GuiOnEventMode", 1)
    Global $Loop = 0, $Active = 0, $Timer = 0, $TimeCount = 0, $NpcS = "", $NpcL = "", $NpcF = ""

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

    #region ### START Koda GUI section ### Form=
    $SLF = GUICreate("SLF", 539, 242, 379, 172)
    ;~ Computer ergebnisse
    $Snpc = GUICtrlCreateInput("", 24, 96, 153, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_READONLY))
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Lnpc = GUICtrlCreateInput("", 192, 96, 153, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_READONLY))
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Fnpc = GUICtrlCreateInput("", 360, 96, 153, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_READONLY))
    GUICtrlSetState(-1, $GUI_DISABLE)
    ;~ Spieler ergebnisse
    $Spl = GUICtrlCreateInput("", 24, 128, 153, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER))
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Lpl = GUICtrlCreateInput("", 192, 128, 153, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER))
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Fpl = GUICtrlCreateInput("", 360, 128, 153, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER))
    GUICtrlSetState(-1, $GUI_DISABLE)
    ;~ Buttons
    $Start = GUICtrlCreateButton("Start", 24, 16, 75, 25)
    $Stop = GUICtrlCreateButton("Stop", 440, 16, 75, 25)
    $Info = GUICtrlCreateButton("Info", 24, 200, 75, 25)
    $Reset = GUICtrlCreateButton("Restart", 440, 200, 75, 25)
    ;~ Dyn Text
    $Buchstabe = GUICtrlCreateLabel("Buchstabe", 104, 24, 327, 17, $SS_CENTER)
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    $WinLose = GUICtrlCreateLabel("", 192, 208, 150, 17, $SS_CENTER)
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    ;~ Static Text
    $Stadt = GUICtrlCreateLabel("Stadt", 32, 72, 141, 17, $SS_CENTER)
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    $Land = GUICtrlCreateLabel("Land", 200, 72, 140, 17, $SS_CENTER)
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    $Fluss = GUICtrlCreateLabel("Fluss", 360, 72, 148, 17, $SS_CENTER)
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    ;~ Zeit
    $Time = GUICtrlCreateLabel("", 192, 160, 148, 28, $SS_CENTER)
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###

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

    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
    GUICtrlSetOnEvent($Start, "_Start")
    GUICtrlSetOnEvent($Stop, "_Stop")
    GUICtrlSetOnEvent($Info, "_Info")
    GUICtrlSetOnEvent($Reset, "_Reset")

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

    GUICtrlSetState($Stop, $GUI_DISABLE)
    GUICtrlSetState($Reset, $GUI_DISABLE)

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

    While 1
    Sleep(20)
    If $Active = 1 Then
    $Random = Chr(Random(Asc("A"), Asc("Z"), 1))
    GUICtrlSetData($Buchstabe, "" & $Random)
    EndIf

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

    If $Timer = 1 Then
    Sleep(1000)
    $TimeCount += 1
    $TimeCount = Round($TimeCount, 0)
    GUICtrlSetData($Time, "sek: " & $TimeCount)
    EndIf
    WEnd

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

    Func _Start()
    $Active = 1
    GUICtrlSetState($Stop, $GUI_ENABLE)
    GUICtrlSetState($Start, $GUI_DISABLE)
    EndFunc ;==>_Start

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

    Func _Stop()
    $Active = 0
    If $Loop = 1 Then
    $Timer = 0

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

    $aTowns = _StringBetween(FileRead("Stadt.txt"), $Random & "=", ";")
    $aTowns = StringSplit($aTowns[0], ",")

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

    _ArrayDisplay($aTowns)
    MsgBox(0, "Zufällige Stadt:", $aTowns[Random(1, $aTowns[0], 1)])
    Exit

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

    GUICtrlSetData($WinLose, "Neues Spiel ?")
    GUICtrlSetState($Stop, $GUI_DISABLE)
    GUICtrlSetState($Reset, $GUI_ENABLE)
    GUICtrlSetState($Spl, $GUI_DISABLE)
    GUICtrlSetState($Lpl, $GUI_DISABLE)
    GUICtrlSetState($Fpl, $GUI_DISABLE)
    EndIf

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

    If $Loop = 0 Then
    $Loop += 1
    GUICtrlSetState($Spl, $GUI_ENABLE)
    GUICtrlSetState($Lpl, $GUI_ENABLE)
    GUICtrlSetState($Fpl, $GUI_ENABLE)
    $Timer = 1
    GUICtrlSetData($Time, "sek: " & $TimeCount)
    EndIf
    EndFunc ;==>_Stop

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

    Func _Reset()
    $Loop = 0
    $Active = 0
    $Timer = 0
    $TimeCount = 0

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

    $NpcS = ""
    $NpcL = ""
    $NpcF = ""

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

    GUICtrlSetData($Time, "")
    GUICtrlSetData($Spl, "")
    GUICtrlSetData($Lpl, "")
    GUICtrlSetData($Fpl, "")
    GUICtrlSetData($Snpc, "")
    GUICtrlSetData($Lnpc, "")
    GUICtrlSetData($Fnpc, "")
    GUICtrlSetData($WinLose, "")
    GUICtrlSetData($Buchstabe, "Buchstabe")
    GUICtrlSetState($Stop, $GUI_DISABLE)
    GUICtrlSetState($Reset, $GUI_DISABLE)
    GUICtrlSetState($Start, $GUI_ENABLE)
    EndFunc ;==>_Reset

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

    Func _Info()
    MsgBox(0, "Coded by ThirtySix", "Version 1.1")
    EndFunc ;==>_Info

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

    Func _Exit()
    Exit
    EndFunc ;==>_Exit

    [/autoit]

    LG
    Christoph :)


  • Bitte merk dir eins: Wenn du dich beim Programmieren dabei erwischst dass du ein und Dinge wiederholst/kopierst - dann machst du etwas falsch. ;)
    Wenn du deine "Datenbanken" so abänderst:
    [...]

    määäh .. ;(
    soweit bin ich nochnicht .. :S

    Wer Rechtschreibfehler findet darf sie behalten. :D