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


    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.


    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    (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