Hallo Leute,
mir war langweilig und ich wollte 2 Funktionen ausprobieren:
Random()
;und
TimerInit()
TimerDiff()
Deshalb habe ich einen kleinen Reaktionstester geschrieben.
Er ist wirklich einfach programmiert.
Verbesserungsvorschläge & Kritik sind erwünscht!!!
Screen:
[Blockierte Grafik: http://www.bilder-upload.eu/thumb/f3f6e0-1331229822.png]
[Blockierte Grafik: http://www.bilder-upload.eu/thumb/dfa7b7-1331229853.png]
~~~~~#Update!!#~~~~
Enthält sicherlich noch einige Fehler!
{Zeile 67 bitte entfernen!!! (im download)}
Code:
Spoiler anzeigen
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
GUICreate("Reaction", 625, 380, 190, 120)
GUISetFont(10, 400, 0, "GoodTimes")
GUISetBkColor(0xFFFFFF)
$mode1 = GUICtrlCreateButton("", 168, 132, 270, 25, BitOR($BS_BITMAP, $BS_FLAT))
GUICtrlSetCursor(-1, 0)
GUICtrlSetImage(-1, "Button1.bmp")
$mode2 = GUICtrlCreateButton("", 168, 212, 270, 25, BitOR($BS_BITMAP, $BS_FLAT))
GUICtrlSetCursor(-1, 0)
GUICtrlSetImage(-1, "Button2.bmp")
$Pic = GUICtrlCreatePic("bg.bmp", 70, 50, 485, 280, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
GUISetState(@SW_SHOW)
Dim $time[10]
$a = 0
$b = 0
$plus = 0
$mode = 0
$running = False
$created = False
While 1
[/autoit] [autoit][/autoit] [autoit]$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $mode1
$mode = 1
Case $mode2
$mode = 2
EndSwitch
[/autoit] [autoit][/autoit] [autoit];_______________________________________________________________MODE1_______________________________________________________________________________________________________________________________
If $mode = 1 Then
If $running = False Then
$running = True
GUICtrlDelete($mode1)
GUICtrlDelete($mode2)
$label1 = GUICtrlCreateLabel("Time:", 8, 352, 38, 20)
$label2 = GUICtrlCreateLabel("0000", 68, 352, 32, 20)
GUICtrlSetImage($Pic, "3.bmp")
Sleep(1000)
GUICtrlSetImage($Pic, "2.bmp")
Sleep(1000)
GUICtrlSetImage($Pic, "1.bmp")
Sleep(1000)
GUICtrlDelete($Pic)
Sleep(Random(600, 3000, 1))
$button = GUICtrlCreateButton("", 262.5, 172.5, 100, 35, BitOR($WS_GROUP, $BS_BITMAP, $BS_FLAT))
GUICtrlSetImage(-1, "Button.bmp")
$timer = TimerInit()
[/autoit] [autoit][/autoit] [autoit]EndIf
[/autoit] [autoit][/autoit] [autoit]Switch $nMsg
Case $button
$diff = Round(TimerDiff($timer), 0)
If $a > 0 Or $a = 0 Then
If $a < 9 Then
$time[$a] = $diff
GUICtrlSetData($label2, $diff)
$a += 1
GUICtrlDelete($button)
Sleep(Random(600, 3000, 1))
$button = GUICtrlCreateButton("", 262.5, 172.5, 100, 35, BitOR($WS_GROUP, $BS_BITMAP, $BS_FLAT))
GUICtrlSetImage(-1, "Button.bmp")
$timer = TimerInit()
Else
GUICtrlDelete($button)
GUICtrlDelete($label1)
GUICtrlDelete($label2)
$a = -1
EndIf
EndIf
EndSwitch
If $a < 0 Then _calculate()
EndIf
;_______________________________________________________________END_________________________________________________________________________________________________________________________________
;_______________________________________________________________MODE2_______________________________________________________________________________________________________________________________
If $mode = 2 Then
If $running = False Then
$running = True
GUICtrlDelete($mode1)
GUICtrlDelete($mode2)
$label1 = GUICtrlCreateLabel("Time:", 8, 352, 38, 20)
$label2 = GUICtrlCreateLabel("0000", 68, 352, 32, 20)
GUICtrlSetImage($Pic, "3.bmp")
Sleep(1000)
GUICtrlSetImage($Pic, "2.bmp")
Sleep(1000)
GUICtrlSetImage($Pic, "1.bmp")
Sleep(1000)
GUICtrlDelete($Pic)
$button = GUICtrlCreateButton("", Random(4, 520, 1), Random(4, 315, 1), 100, 35, BitOR($WS_GROUP, $BS_BITMAP, $BS_FLAT))
GUICtrlSetImage(-1, "Button.bmp")
$timer = TimerInit()
EndIf
Switch $nMsg
Case $button
$diff = Round(TimerDiff($timer), 0)
If $a > 0 Or $a = 0 Then
[/autoit] [autoit][/autoit] [autoit]If $a < 9 Then
[/autoit] [autoit][/autoit] [autoit]$time[$a] = $diff
$a += 1
GUICtrlDelete($button)
GUICtrlSetData($label2, $diff)
$button = GUICtrlCreateButton("", Random(4, 520, 1), Random(4, 315, 1), 100, 35, BitOR($WS_GROUP, $BS_BITMAP, $BS_FLAT))
GUICtrlSetImage(-1, "Button.bmp")
$timer = TimerInit()
[/autoit] [autoit][/autoit] [autoit]Else
GUICtrlDelete($button)
GUICtrlDelete($label1)
GUICtrlDelete($label2)
$a = -1
_calculate()
EndIf
EndIf
EndSwitch
EndIf
;_______________________________________________________________END_________________________________________________________________________________________________________________________________
WEnd
[/autoit] [autoit][/autoit] [autoit]Func _calculate()
For $b = 0 To 9
$plus += $time[$b]
Next
$b = 0
$a = 0
$plus /= 10
MsgBox(0, "Reaction", "Your reaction average was " & Round($plus, 0) & " milliseconds!!")
$running = False
$mode = 0
$plus = 0
$mode1 = GUICtrlCreateButton("", 168, 132, 270, 25, BitOR($BS_BITMAP, $BS_FLAT))
GUICtrlSetCursor(-1, 0)
GUICtrlSetImage(-1, "Button1.bmp")
$mode2 = GUICtrlCreateButton("", 168, 212, 270, 25, BitOR($BS_BITMAP, $BS_FLAT))
GUICtrlSetCursor(-1, 0)
GUICtrlSetImage(-1, "Button2.bmp")
$Pic = GUICtrlCreatePic("bg.bmp", 70, 50, 485, 280, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
EndFunc ;==>_calculate
mfg Yellow