Hallo habe mir aus langeweile ein Text Adventure geskriptet in dem man durch drücken von 3 Buttons immer einen Schritt weiter gelang. Auf jeden Schritt folgen dann wieder andere möglichkeiten weiter zu gehen. Wollte nun einbauen dass man irgendwo ( was natürlich festgelegt ist) ein item finden kann was man an einer bestimmten stelle einsetzen muss um weiter zu kommen. Code des Skriptes habe ich eingefügt. Danke schon mal im voraus für die Hilfe.
$name = "Text Adventure "
$version = "0.3 Beta"
$game = " The Game"
$creator = " created and scripted by Pascal Bendler"
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=C:\Users\Pascal\Desktop\Neuer Ordner (3)\Forms\textadvanture.kxf
$Form1 = GUICreate("" & $name & $version & $game & $creator, 625, 443, 192, 124)
$Label1 = GUICtrlCreateLabel("Hallo und Herzlich Willkommen zum Text Adventure 1.1. Zum Spielen müssen nur die 3 Buttons gedrückt werden. In jedem Text bzw. in jedem Spielfortschritt wird erklärt was jeder Button bewirkt. Drücken sie den Start-Button um zu beginnen.", 104, 56, 460, 257)
$Button1 = GUICtrlCreateButton("1", 112, 328, 75, 25, 0)
$Button2 = GUICtrlCreateButton("2", 296, 328, 75, 25, 0)
$Button3 = GUICtrlCreateButton("3", 480, 328, 75, 25, 0)
$Button4 = GUICtrlCreateButton("Start/Stopp", 296, 384, 75, 25, 0)
$Button5Info = GUICtrlCreateButton("Info", 590, 408, 25, 25, 0)
GUISetState(@SW_SHOW)
GUISetIcon("C:\Windows\System32\PerfCenterCpl.ico")
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button4
Func1 ()
Case $Button5Info
Info ()
EndSwitch
WEnd
Func Info()
MsgBox(0,"Info zum Spiel","Zu der Entstehung des Text Adventures: Aus reiner Langeweile habe ich mich eines Mittags an meinen Pc gesezt und vor mich hin geskripted. Dann kam mir die Idee ein Spiel zu Schreiben, doch eine Sprache wie C o.ä. beherrsche ich nicht. Dann habe ich mich entschieden ein kleines Text Adventure zu schreiben. Und nun sizt du hier und liest wie ich mich entschieden habe dieses kleine Programm zu entwickeln. Die Entwicklung: Die Entwicklung hat relativ lange gedauert, da ich einen langen Zeitraum nicht an dem Adventure gearbeitei habe (ca. ein halbes Jahr). Geschrieben ist es in AutoIt, mit all den Kenntnissen die ich habe und mir über Google zusammen gesucht/gearbeitet habe.")
EndFunc
[/autoit][autoit][/autoit][autoit]Func Func1()
[/autoit][autoit][/autoit][autoit]$Label1 = GUICtrlCreateLabel("Du bist auf einer einsamen Insel und weist nicht wo du bist. Du versuchst einen Ausweg zu finden. Drücke 1 um die Insel zu erkunden, drücke 2 um auf Hilfe zu warten oder drücke 3 um von der Insel zu schwimmen, mit hilfen eines Floßes was du dir aus Bäumen der Insel baust.", 104, 56, 460, 257)
[/autoit][autoit][/autoit][autoit]while 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
Button1 ()
Case $Button2
Button2 ()
Case $Button3
Button3 ()
Case $Button4
Button4 ()
Case $Button5Info
Info ()
EndSwitch
WEnd
EndFunc
Func Button4 ()
[/autoit][autoit][/autoit][autoit]$Label1 = GUICtrlCreateLabel("Hallo und Herzlich Willkommen zum Text Adventure 1.1. Zum Spielen müssen nur die 3 Buttons gedrückt werden. In jedem Text bzw. in jedem Spielfortschritt wird erklärt was jeder Button bewirkt. Drücken sie den Start-Button um zu beginnen.", 104, 56, 460, 257)
[/autoit][autoit][/autoit][autoit]While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button4
Func1 ()
Case $Button5Info
Info ()
EndSwitch
WEnd
EndFunc
Func Button1 ()
$Label1 = GUICtrlCreateLabel("Du gehst durch das Dickicht der Insel findest aber nichts was dir weiter Helfen könnte. Drücke 1, 2 oder 3 um zum Start-Punkt zurück zu kehren.", 104, 56, 460, 257)
while 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
Func1 ()
Case $Button2
Func1 ()
Case $Button3
Func1 ()
Case $Button4
Button4 ()
Case $Button5Info
Info ()
EndSwitch
WEnd
EndFunc
Func Button2 ()
$Label1 = GUICtrlCreateLabel("Du sezt dich an den Strand und wartest auf Hilfe. Auf einmal hörst du ein Hupen von einem Schiff. Doch plözlich wachst du auf und bemerkst dass es nur ein Traum war. Du wartest so lange auf Hilfe bist du eines langsamen Hungertodes gestorben bist. Drücke 1, 2 oder 3 um von vorne zu beginnen.", 104, 56, 460, 257)
while 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
Func1 ()
Case $Button2
Func1 ()
Case $Button3
Func1 ()
Case $Button4
Button4 ()
Case $Button5Info
Info ()
EndSwitch
WEnd
EndFunc
Func Button3 ()
$Label1 = GUICtrlCreateLabel("Du baust dir ein Floß. Stundenlang arbeitest du daran in der Hoffnung dass du es von dieser Insel schaffst. Nach ca. 7 Stunden harter Arbeit ist es vollbracht. Du lässt das Floß ins Wasser und lässt dich treiben. Ein paar Tage später hängst du Verhungernd auf deinem Floß -ohne Kraft- und hoffst auf Hilfe, als du dann plözlich Festland sichtest. Du paddelst voller Freude und Elan los bis du am Festland angekommen bist. Doch was nun ? Drücke 1 um die Küste entlang zu laufen, drücke 2 um auf die Berge zu klettern die du im Norden siehst oder drücke 3 um dich dort nieder zu lassen.", 104, 56, 460, 257)
while 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
Button1Kueste ()
Case $Button2
Button2Berge ()
Case $Button3
Button3Niederlassen ()
Case $Button4
Button4 ()
Case $Button5Info
Info ()
EndSwitch
WEnd
EndFunc
Func Button1Kueste ()
$Label1 = GUICtrlCreateLabel("Du gehst die Küste entlang doch mehr als Sand ist hier nicht zu finden. Drücke 1 um zu deinem Floß zurück zu gehen, drücke 2 um jetz zu den Bergen im Norden zu gehen oder Drücke 3 um dich zu ertränken weil du keine lust mehr auf Leben hast.",104, 56, 460, 257)
while 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
Button1zuruekfloss ()
Case $Button2
Button2Berge ()
Case $Button3
Button3Ende ()
Case $Button4
Button4 ()
Case $Button5Info
Info ()
EndSwitch
WEnd
EndFunc
Func Button1zuruekfloss ()
$Label1 = GUICtrlCreateLabel("Du gehst wieder zu deinem Gestrandeten Floß zurück und denkst nach was du nun tun könntest. Drücke 1 um in die Berge zu gehen die im Norden liegen, drücke 2 um dich hier nieder zu lassen und dir eine kleine Existenz auf zu bauen oder drücke 3 um nach Osten ins Flachland zu gehen.",104, 56, 460, 257)
while 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
Button2Berge ()
Case $Button2
Button3Niederlassen ()
Case $Button3
Button3Flachland ()
Case $Button4
Button4 ()
Case $Button5Info
Info ()
EndSwitch
WEnd
EndFunc
Func Button2Berge ()
$Label1 = GUICtrlCreateLabel("Du bist zu den Bergen gegangen und kletterst hinauf als du plötzlich einen Aßgeier siehst... Was sollst du nun tun ? Drücke 1 um wieder zurück zum Floß zu gehen, drücke 2 um den Aßgeier zu ignorieren und weiter zu klettern oder drücke 3 um Dort zu warten bis der Aßgeier verschwindet.",104, 56, 460, 257)
while 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
Button1zuruekfloss ()
Case $Button2
Button2weiterklettern ()
Case $Button3
Button3warten ()
Case $Button4
Button4 ()
Case $Button5Info
Info ()
EndSwitch
WEnd
EndFunc
Func Button3Ende ()
$Label1 = GUICtrlCreateLabel("Du hast keine lust mehr zu leben also tötest du dich indem du dich im Wasser ertränkst. Zusätzlich wirst du von ein paar Haien gefressen. Drücke 1, 2 oder 3 um von Vorne zu beginnen.",104, 56, 460, 257)
while 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
Func1 ()
Case $Button2
Func1 ()
Case $Button3
Func1 ()
Case $Button4
Button4 ()
Case $Button5Info
Info ()
EndSwitch
WEnd
EndFunc
Func Button3Niederlassen ()
$Label1 = GUICtrlCreateLabel("Du lässt dich an dieser wunderschönen - aber einsamen - Küste nieder und baust dir eine kleine Existenz auf. Du baust dir ein Kleines Haus und züchtest dir ein paar Schweine die du eingefangen hast. Du stirbst friedlich und alleine in deiner Hütte. Drücke 1, 2 oder 3 um nochmal von vorne zu beginnen.",104, 56, 460, 257)
while 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
Func1 ()
Case $Button2
Func1 ()
Case $Button3
Func1 ()
Case $Button4
Button4 ()
Case $Button5Info
Info ()
EndSwitch
WEnd
EndFunc
Func Button3Flachland ()
$Label1 = GUICtrlCreateLabel("Du gehst ins Flachland - mir knurrendem Magen - und suchst dir etwas zu Essen. Nachdem du dir einen wilden Hasen gefangen, gegrillt und gegessen hast begibst du dich weiter auf die Reise. Drücke 1 um in die Berge zu gehen, drücke 2 um die merkwürdige Höhle im Flachland zu erkunden oder drücke 3 um durch die Wüste zu gehen.",104, 56, 460, 257)
while 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
Button2Berge ()
Case $Button2
Button2Hoehle ()
Case $Button3
Button3Wueste ()
Case $Button4
Button4 ()
Case $Button5Info
Info ()
EndSwitch
WEnd
EndFunc
Func Button2Hoehle ()
$Label1 = GUICtrlCreateLabel("Du gehst in eine Höhle ... es ist sehr Dunkel ... was sollst du tun ?",104, 56, 460, 257)
while 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
Button1Hoehleraus ()
Case $Button2
Button2Hoehleweiter ()
Case $Button3
Button3Hoehle ()
Case $Button4
Button4 ()
Case $Button5Info
Info ()
EndSwitch
WEnd
EndFunc
Func Button3Wueste ()
$Label1 = GUICtrlCreateLabel("Du gehst in die Wüste ... eine sehr riskante Entscheidung ohne Wasser dorthin zu gehen ... Drücke 1 um wieder um zu kehren, drücke 2 um Doch weiter in die Wüste zu gehen oder drücke 3 um die Wüste zu umgehen.",104, 56, 460, 257)
while 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
Button3Flachland ()
Case $Button2
Button2weiterWueste ()
Case $Button3
Button3wuesteumgehen ()
Case $Button4
Button4 ()
Case $Button5Info
Info ()
EndSwitch
WEnd
EndFunc