Kleines Reaktionsspiel

  • Hallo.
    Ich habe so ein kleines Reaktionsspiel gemacht. Das funktioniert so.
    In der Mitte wird eine Zahl angezeigt. Dann muss man auf den entsprechenden Button klicken.
    Also. Wenn in der Mitte eine 2 steht dann klickt man auf den 2 Button.
    Wenn ihr die Schnelligkeit verändern wollt, dann müsst ihr nur die Sleep-Phase in Zeile 56 verändern.
    Hier ist das Script:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    Global $var

    [/autoit] [autoit][/autoit] [autoit]

    $hGUI = GUICreate("So schnell du kannst",300,400)
    $onebutton = GUICtrlCreateButton("1",10,10,100,100)
    $twobutton = GUICtrlCreateButton("2",180,10,100,100)
    $threebutton = GUICtrlCreateButton("3",10,130,100,100)
    $fourbutton = GUICtrlCreateButton("4",180,130,100,100)
    $fivebutton = GUICtrlCreateButton("5",10,260,100,100)
    $sixbutton = GUICtrlCreateButton("6",180,260,100,100)
    $label = GUICtrlCreateLabel("",133,160,30,40)
    $startbutton = GUICtrlCreateButton("Start",125,360,50,25)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlSetFont($onebutton,30)
    GUICtrlSetFont($twobutton,30)
    GUICtrlSetFont($threebutton,30)
    GUICtrlSetFont($fourbutton,30)
    GUICtrlSetFont($fivebutton,30)
    GUICtrlSetFont($sixbutton,30)
    GUICtrlSetFont($label,30)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlSetBkColor($twobutton,0xff0000)
    GUICtrlSetBkColor($onebutton,0xff000)
    GUICtrlSetBkColor($threebutton,0xfff000)
    GUICtrlSetBkColor($fourbutton,0xf0)
    GUICtrlSetBkColor($fivebutton,0xff7f00)
    GUICtrlSetBkColor($sixbutton,0x7f00ff)
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $startbutton
    $var = _Startup()
    Case Else
    Check($var,$msg)
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _Startup()
    $msg = GUIGetMsg()
    Local $rnd = Random(1, 6, 1)
    GUICtrlSetState($label,$GUI_SHOW)
    GUICtrlSetData($label, $rnd)
    Sleep(500)
    GUICtrlSetState($label,$GUI_HIDE)
    Check($rnd,$msg)
    Return($rnd)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func Check($iRightNum, $Button)
    Switch $Button
    Case $onebutton
    If $iRightNum = 1 Then
    $var = _Startup()
    Else
    MsgBox(0,"Fehler","Fehler")
    EndIf
    Case $twobutton
    If $iRightNum = 2 Then
    $var = _Startup()
    Else
    MsgBox(0,"Fehler","Fehler")
    EndIf
    Case $threebutton
    If $iRightNum = 3 Then
    $var = _Startup()
    Else
    MsgBox(0,"Fehler","Fehler")
    EndIf
    Case $fourbutton
    If $iRightNum = 4 Then
    $var = _Startup()
    Else
    MsgBox(0,"Fehler","Fehler")
    EndIf
    Case $fivebutton
    If $iRightNum = 5 Then
    $var = _Startup()
    Else
    MsgBox(0,"Fehler","Fehler")
    EndIf
    Case $sixbutton
    If $iRightNum = 6 Then
    $var = _Startup()
    Else
    MsgBox(0,"Fehler","Fehler")
    EndIf
    EndSwitch
    EndFunc

    [/autoit]
  • Nette Idee.
    Du könntest das Programm noch so erweitern, dass es anzeigt, wie viele Richtige man hat und wie lange man dafür gebraucht hat.

  • Ich finde das Script gut :)
    Als erhöhten Schwierigkeitsgrad könnte man noch hinter die Zahl, die angeklickt werden soll,
    ein farbiges Feld anzeigen lassen, dass jedoch in einer anderen Farbe erscheint, als das gesuchte Feld.
    Oder, dass man entweder die Farbe ODER die Zahl anklicken muss. ;)
    Dann kommen die kleinen grauen Zellen so richtig in Gang :D

    Wer immer nur das tut, was er bereits kann - wird auch immer nur das bleiben, was er bereits ist!