Du bist nicht angemeldet.

Kontrollzentrum

Spenden

Jeder Euro hilft uns, euch zu helfen.

Adsense

Downloads

Stabil: 3.3.8.1 (Q, H)
Stabil: 3.3.12.0 (Q, H)
Beta: 3.3.11.5 (Q, H)
SciTE: 4/5/2014 (Q, H)
Hilfe Deutsch: 12/23/2013 (Q)
Download: OrganizeIncludes (Q)
Stand: 02.06.2014 - 2:21 Uhr

Lieber Besucher, herzlich willkommen bei: AutoIt.de - Das deutsche AutoIt-Forum. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

  • »chesstiger« ist der Autor dieses Themas

Registrierungsdatum: 7. November 2010

  • Private Nachricht senden

1

Freitag, 16. März 2012, 16:08

UniRiddle

Söö, wer den Beitrag von Mr.SaxoI3eat gelesen hat (Wer wird Millionär?), der weiß, dass ich auch noch ein Rätselskript hier rum liegen hab ;)
Das Beispielrätsel ist "hingekritzelt", ich denke, ich werde die Tage da mal was Vernünftiges machen... aber es geht ja um das Skript, nicht um die Fragen...
Von miraus könnt ihr auch eigene Scenarien verfassen und sie hier hochladen!

Sourcecode


AutoIt-Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.3.6.1
 Author:         chesstiger

 Script Function:
    ---

#ce ----------------------------------------------------------------------------
#include <StaticConstants.au3>
#include <GUIConstants.au3>
#include <Misc.au3>
#include <File.au3>

Dim $FOLDERS
$FOLDERS = _FileListToArray(@ScriptDir & "\scenarios","*",2)
$COUNTER_ONE = 0
$RETURN_FOLDER = ""
Do
    $COUNTER_ONE+=1
    $RETURN_FOLDER = $RETURN_FOLDER & '"' & $FOLDERS[$COUNTER_ONE] & '"' & @CR
Until $COUNTER_ONE = $FOLDERS[0]


While 1
$NAMEOFSCENE = InputBox("UniRiddle","Scenarioname:")
If @Error = 1 Then Exit
$SCENARIO = "scenarios" & $NAMEOFSCENE & "\scene.ini"
If FileExists ($SCENARIO) Then ExitLoop
MsgBox(48,"UniRiddle","Scenario existiert nicht!" & @CR & @CR & "Verfügbare Scenarien:" & @CR & $RETURN_FOLDER)
WEnd

$COUNTER = 0
;MAINGUI

$MAINGUI = GUICreate("UniRiddle",300,300)
$NAME = GUICtrlCreateLabel("",15,0,270,25,$SS_CENTER)
GUICtrlSetFont($NAME,16)
$TITLEIMAGE = GUICtrlCreatePic("",100,50,100,100)
$DESCRIPTION = GUICtrlCreateLabel("",10,175,280,50,$SS_CENTER)
$AUTHOR = GUICtrlCreateLabel("",10,225,280,60,$SS_CENTER)
$GO = GUICtrlCreateButton("Beginnen",0,280,275,20)
$CREDITS = GUICtrlCreateButton("Info",275,280,25,20)
GUISetState()

GUICtrlSetData($NAME,IniRead($SCENARIO,"MAIN","NAME",0))
GUICtrlSetImage($TITLEIMAGE,"scenarios" & $NAMEOFSCENE & "\pic" & IniRead($SCENARIO,"MAIN","TITLEIMAGE",0))
GUICtrlSetData($DESCRIPTION,IniRead($SCENARIO,"MAIN","DESCRIPTION",0))
GUICtrlSetData($AUTHOR,"Autor: " & IniRead($SCENARIO,"MAIN","AUTHOR",0) & @CRLF & "Version: " & IniRead($SCENARIO,"MAIN","VERSION",0) & @CRLF & "Datum: " & IniRead($SCENARIO,"MAIN","DATE",0))

While 1
    $mainmsg = GUIGetMsg()
    Select
    Case $mainmsg = $GO
        ExitLoop
    Case $mainmsg = $GUI_EVENT_CLOSE
        Exit
    Case $mainmsg = $CREDITS
        MsgBox(32,"UniRiddle","UniRiddle ist ein Projekt von: chesstiger" & @CR & "Scenario-Ordner einfach nach 'scenarios' verschieben und den Namen bei der Startsequenz eingeben!" & @CR & @CR & "UniRiddle-Version: 0.2")
    EndSelect
WEnd
GUIDelete($MAINGUI)

GUICreate("UniRiddle",300,300)
$QUEST = GUICtrlCreateLabel("QUEST",10,10,280,50)
$A = GUICtrlCreateButton("A",0,180,300,30)
$B = GUICtrlCreateButton("B",0,210,300,30)
$C = GUICtrlCreateButton("C",0,240,300,30)
$D = GUICtrlCreateButton("D",0,270,300,30)
$PIC = GUICtrlCreatePic("",100,50,100,100)
GUISetState()
$COUNT_SECTIONS = IniReadSectionNames($SCENARIO)
Do
$COUNTER+=1
_NewQuest("QUEST_" & $COUNTER)
Until $COUNTER = $COUNT_SECTIONS[0] - 1
MsgBox(0,"UniRiddle",IniRead($SCENARIO,"MAIN","WINTEXT",0))

Func _NewQuest($SECTION)
#cs
If IniRead($SCENARIO,$SECTION,"ENABLE",0) = 3 Then
    GUICtrlSetState($D,$GUI_DISABLE)
EndIf
If IniRead($SCENARIO,$SECTION,"ENABLE",0) = 2 Then
    GUICtrlSetState($A,$GUI_DISABLE)
    GUICtrlSetState($D,$GUI_DISABLE)
EndIf
If IniRead($SCENARIO,$SECTION,"ENABLE",0) = 1 Then
    GUICtrlSetState($B,$GUI_DISABLE)
    GUICtrlSetState($C,$GUI_DISABLE)
    GUICtrlSetState($D,$GUI_DISABLE)
EndIf
#ce
    GUICtrlSetState($A,$GUI_DISABLE)
    GUICtrlSetState($B,$GUI_DISABLE)
    GUICtrlSetState($C,$GUI_DISABLE)
    GUICtrlSetState($D,$GUI_DISABLE)

If StringInStr(IniRead($SCENARIO,$SECTION,"ENABLE","0"),"A") <> 0 Then GUICtrlSetState($A,$GUI_ENABLE)
If StringInStr(IniRead($SCENARIO,$SECTION,"ENABLE","0"),"B") <> 0 Then GUICtrlSetState($B,$GUI_ENABLE)
If StringInStr(IniRead($SCENARIO,$SECTION,"ENABLE","0"),"C") <> 0 Then GUICtrlSetState($C,$GUI_ENABLE)
If StringInStr(IniRead($SCENARIO,$SECTION,"ENABLE","0"),"D") <> 0 Then GUICtrlSetState($D,$GUI_ENABLE)
If IniRead($SCENARIO,$SECTION,"ENABLE","0") = "" Or IniRead($SCENARIO,$SECTION,"ENABLE","0") = "0" Then
    GUICtrlSetState($A,$GUI_ENABLE)
    GUICtrlSetState($B,$GUI_ENABLE)
    GUICtrlSetState($C,$GUI_ENABLE)
    GUICtrlSetState($D,$GUI_ENABLE)
EndIf

GUICtrlSetData($QUEST,IniRead($SCENARIO,$SECTION,"QUEST",0))
GUICtrlSetData($A,IniRead($SCENARIO,$SECTION,"A",0))
GUICtrlSetData($B,IniRead($SCENARIO,$SECTION,"B",0))
GUICtrlSetData($C,IniRead($SCENARIO,$SECTION,"C",0))
GUICtrlSetData($D,IniRead($SCENARIO,$SECTION,"D",0))
GUICtrlSetImage($PIC,"scenarios" & $NAMEOFSCENE & "\pic" & IniRead($SCENARIO,$SECTION,"PIC",0))
While 1
    $msg = GUIGetMsg()
    If WinActive("UniRiddle") <> 0 Then
    If _IsPressed("41") Then
        $ANSWER = "A"
        Sleep(200)
        ExitLoop
    EndIf
    If _IsPressed("42") Then
        $ANSWER = "B"
        Sleep(200)
        ExitLoop
    EndIf
    If _IsPressed("43") Then
        $ANSWER = "C"
        Sleep(200)
        ExitLoop
    EndIf
    If _IsPressed("44") Then
        $ANSWER = "D"
        Sleep(200)
        ExitLoop
    EndIf
    EndIf
    Select
    Case $msg = $GUI_EVENT_CLOSE
        Exit
    Case $msg = $A
        $ANSWER = "A"
        ExitLoop
    Case $msg = $B
        $ANSWER = "B"
        ExitLoop
    Case $msg = $C
        $ANSWER = "C"
        ExitLoop
    Case $msg = $D
        $ANSWER = "D"
        ExitLoop
    EndSelect
WEnd
If $ANSWER <> IniRead($SCENARIO,$SECTION,"NEXT",0) Then
    If IniRead($SCENARIO,$SECTION,"ENDTEXT","0") = "AUTO" Then
        MsgBox(0,"UniRiddle",IniRead($SCENARIO,"MAIN","ENDTEXT_AUTO",0))
    ElseIf IniRead($SCENARIO,$SECTION,"ENDTEXT","0") <> "0" THen
        MsgBox(0,"UniRiddle",IniRead($SCENARIO,$SECTION,"ENDTEXT",0))
    EndIf
    If IniRead($SCENARIO,"MAIN","DEBUG","FALSE") <> "TRUE" Then Exit
EndIf
If IniRead($SCENARIO,$SECTION,"NEXTTEXT","0")  = "AUTO" Then
MsgBox(0,"UniRiddle",IniRead($SCENARIO,"MAIN","NEXTTEXT_AUTO",0))
ElseIf IniRead($SCENARIO,$SECTION,"NEXTTEXT","0") <> "0" Then
MsgBox(0,"UniRiddle",IniRead($SCENARIO,$SECTION,"NEXTTEXT",0))
EndIf

GUICtrlSetImage($PIC,"")
GUICtrlSetState($A,$GUI_ENABLE)
GUICtrlSetState($B,$GUI_ENABLE)
GUICtrlSetState($C,$GUI_ENABLE)
GUICtrlSetState($D,$GUI_ENABLE)
EndFunc



Edit: Mein Browser will grad nicht, der SC ist verhunzt :(

Und im Anhang das ganze nochmal als Zipfile, mit Beispiel etc... ;)

lg chess

Update:
Ein klein wenig am Sourcecode verändert und UniRiddleEx.zip hochgeladen.
UniRiddleEx.zip enthält (bis jetzt) nur das Szenario "ctGeschichte", wird aber noch erweitert. ;)

chess
»chesstiger« hat folgende Dateien angehängt:
  • UniRiddle.zip (5,61 kB - 60 mal heruntergeladen - zuletzt: 23. August 2014, 06:51)
  • UniRiddleEx.zip (6,61 kB - 50 mal heruntergeladen - zuletzt: 23. August 2014, 06:51)
[Tutorial] Sauber Programmieren
Rainbow Dash
"EMP Granate im Apple-Store!"

James1337 (22.09.2012, 16:46)


Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von »chesstiger« (25. April 2012, 20:25)


  • »chesstiger« ist der Autor dieses Themas

Registrierungsdatum: 7. November 2010

  • Private Nachricht senden

2

Dienstag, 20. März 2012, 23:13

Danke und genau, das ist der Sinn hinter der Sache! ;)
Universell... Ursprünglich war das als eine Art... Szenarioplayer geplant, zb. "Du stehst vor einem alten Haus. Die Tür ist offen, auf der Treppe ist Blut. Was tust du?". Sieht man auch noch... Scenario etc..

Ich arbeite gerade an einem Geschichte-Paket und an einem AutoIt-Paket...
Mal gucken, wahrscheinlich wirds Morgen oder in einer Woche fertig, kommt drauf an...

Wird dann hier zum Download bereitgestellt, Rätselpakete von euch sind auch willkommen :P

lg chess
[Tutorial] Sauber Programmieren
Rainbow Dash
"EMP Granate im Apple-Store!"

James1337 (22.09.2012, 16:46)



  • »chesstiger« ist der Autor dieses Themas

Registrierungsdatum: 7. November 2010

  • Private Nachricht senden

3

Mittwoch, 25. April 2012, 20:22

Update:
Endlich mal das Geschichtsrätsel hochgeladen...
Ich weiß garnicht ob das genug für ein Update ist^^

lg chess
[Tutorial] Sauber Programmieren
Rainbow Dash
"EMP Granate im Apple-Store!"

James1337 (22.09.2012, 16:46)



  • »chesstiger« ist der Autor dieses Themas

Registrierungsdatum: 7. November 2010

  • Private Nachricht senden

4

Dienstag, 1. Mai 2012, 19:29

Ich hab schon über beides, was du angesprochen hast, also Scenario-Maker & das mit dem Schließen nachgedacht^^
Aber wie gesagt: Es war ursprünglich für so Szenarien wie zb. Scottland Yard, Sherlock Holmes u.Ä. in der Richtung gedacht, wo es bei falscher Antwort halt nicht weitergehen darf...
Aber UniRiddle ist ja eh kein Szenario-Programm geworden, sondern ein... Rätselprogramm halt, deswegen werd ich das, bzw. beides umsetzen ;)

Danke für den Kommentar :p

lg chess
[Tutorial] Sauber Programmieren
Rainbow Dash
"EMP Granate im Apple-Store!"

James1337 (22.09.2012, 16:46)



Thema bewerten
autoit.de Webutation