Hey zusammen
Ich entwickle derzeit eine mittlere Freizeitparksimulation mit AutoIt
Derzeit stosse ich jedoch an eine Kante.
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form1_1 = GUICreate("Form1", 626, 308, 192, 124)
$List1 = GUICtrlCreateList("", 32, 40, 561, 123)
GUICtrlSetData(-1, "")
$Button1 = GUICtrlCreateButton("Kasse öffnen", 32, 176, 193, 25, $WS_GROUP)
$Button2 = GUICtrlCreateButton("Kasse schliessen", 32, 216, 193, 25, $WS_GROUP)
$besucherzahl = GUICtrlCreateInput("0", 240, 176, 121, 21)
$Spielzeit = GUICtrlCreateLabel("Spielzeit:", 400, 16, 51, 17)
$Time = GUICtrlCreateLabel("07:00", 456, 16, 27, 17)
$Day = GUICtrlCreateLabel("Tag 1", 490, 16, 35, 20)
GUISetState(@SW_SHOW)
AdlibRegister("_spielzeit",1000)
Func _besucherzahl()
[/autoit] [autoit][/autoit] [autoit]$readvzahl=GUICtrlRead($besucherzahl)
$zufallszahl=Random(0,100,1)
$readvzahl += $zufallszahl
GUICtrlSetData($besucherzahl,$readvzahl)
EndFunc
Func _spielzeit()
$readtime=GUICtrlRead($Time)
$readday=GUICtrlRead($Day)
$split=StringSplit($readtime,":",2)
$daysplit=StringSplit($readday," ",2)
If $split[0]=00 And $split[1]=00 Then
$daysplit[1] += 1
EndIf
GUICtrlSetData($Day,$daysplit[0]&" "&$daysplit[1])
If $split[1]=60 Then
$split[1]=00
If $split[0]=23 Then
$split[0]=00
Else
$split[0]+=1
EndIf
EndIf
If StringLen($split[0])=1 Then $split[0]="0"&$split[0]
If StringLen($split[1]=1) Then $split[1]="0"&$split[1]
$split[1] += 1
$aktuellezeit = StringFormat("%02d:%02d",$split[0],$split[1])
GUICtrlSetData($Time,$aktuellezeit)
EndFunc
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
AdlibRegister("_besucherzahl",1000)
Case $Button2
AdlibUnRegister("_besucherzahl")
EndSwitch
WEnd
Ich möchte je nach unterschiedlicher Tageszeit unterschiedliche Randomwerte haben.
D.h. wenn es 09:00 Morgens ist soll bis um 11:00 Uhr Random(0,80,1) gelten und von 11:01 bis 13:00 Random(0,50,1) usw.
Ich habe es durch diverse Additionen versucht, kriege es jedoch nicht so hin, dass es funktionieren würde.
Ausserdem funktioniert die oben angestrebte Methode mit dem Tag nicht. Es zählt um 00:00 nicht einen Tag höher.
Wie löse ich das am Besten?
MfG
Lukas