iClick - tippst du noch oder klickst du schon?

  • Hey :D

    Ihr kennt bestimmt das geniale Minispiel von CyRoX, "Burning Keyboard". Mir hat es so gut gefallen, dass ich eine Maus Version "gescripted" habe. Eigentlich ganz simpel und von der Komplexität nicht mit BK zu vergleichen. Aber es geht ja eigentlich um das "Entertaiment" ;) . Genug geschrieben, hier die Anleitung:

    • Auf den ersten Button klicken
    • Warten
    • dann auf das Label klicken - so schnell ihr könnt
    • Namen eingeben, um den Score zu speichern


    Script:

    Spoiler anzeigen
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Icon=icon.ico
    #AutoIt3Wrapper_Outfile=iClick.exe
    #AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("iClick - by Stefan Blagojevic", 654, 349, 192, 124)
    GUISetBkColor( 0xFFFFFF, $Form1)
    Global $ScoreIni[500][500]
    $Label1 = GUICtrlCreateLabel("iClick - click to start", 160, 104, 654, 349)
    GUICtrlSetFont(-1, 30, 400, 0, "Segoe UI")
    GUICtrlSetState( $Label1, $GUI_HIDE)
    GUICtrlSetState( $Label1, $GUI_DISABLE)
    $Progr = GUICtrlCreateProgress( 0, 0, 654, 20)
    GUICtrlSetState( $Progr, $GUI_HIDE)
    $Start = GUICtrlCreateButton( "iClick - click to start", 160, 104, 349, 58)
    $Score = GUICtrlCreateButton( "HighScore", 160, 173, 349,58)
    $settings = IniRead( "Settings.ini", "Settings", "Time", "10")
    $timeleft = $settings
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    Global $i,$Progr,$Name,$line
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Score
    _ScoreRead()
    Case $Start
    GUICtrlSetState( $Score, $GUI_HIDE)
    GUICtrlSetState( $Score, $GUI_DISABLE)
    GUICtrlSetState( $Start, $GUI_HIDE)
    GUICtrlSetState( $Start, $GUI_DISABLE)
    GUICtrlSetState( $Label1, $GUI_ENABLE)
    GUICtrlSetState( $Label1, $GUI_SHOW)
    _Menu()
    GUICtrlSetState( $Progr, $GUI_SHOW)
    Case $Label1
    $i = $i + 1
    If mod ($i, 2 ) = 0 Then
    GUISetBkColor( 0xDF0101, $Form1)
    Else
    GUISetBkColor(0x04B431,$Form1)
    EndIf
    GUICtrlSetData( $Label1, $i)
    Beep( 800, 250)
    EndSwitch
    WEnd
    Func timer()
    If $timeleft > 0 Then

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

    $timeleft = $timeleft - 1
    GUICtrlSetData($Progr, 100 / $timeleft)
    Else
    AdlibUnRegister("timer")
    If $i <> "" Then
    $Name = InputBox( "", "You clicked " & $i & " times! Please write your name to save the highscore, if available!")
    _Score()
    Else
    MsgBox( 0, "", "You clicked 0 times!")

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

    EndIf
    GUISetBkColor( 0xFFFFFF, $Form1)
    GUICtrlSetState( $Label1, $GUI_HIDE)
    GUICtrlSetState( $Label1, $GUI_DISABLE)
    GUICtrlSetState( $Score, $GUI_SHOW)
    GUICtrlSetState( $Score, $GUI_ENABLE)
    GUICtrlSetState( $Start, $GUI_ENABLE)
    GUICtrlSetState( $Start, $GUI_SHOW)
    GUICtrlSetState( $Progr, $GUI_HIDE)
    $i = 0
    $timeleft = $settings
    GUICtrlSetData( $Label1, "iClick")
    EndIf
    EndFunc
    Func _Menu()
    Beep(500,500)
    GUICtrlSetData( $Label1, "5")
    Sleep(1000)
    Beep(500,500)
    GUICtrlSetData( $Label1, "4")
    Sleep(1000)
    Beep(500,500)
    GUICtrlSetData( $Label1, "3")
    Sleep(500)
    Beep(500,250)
    GUICtrlSetData( $Label1, "2")
    Sleep(500)
    Beep(500,250)
    GUICtrlSetData( $Label1, "1")
    Sleep(250)
    Beep(500,100)
    GUICtrlSetData( $Label1, "iClick!")
    AdlibRegister( "timer", 1000)
    EndFunc
    Func _Score()
    $Read = IniRead( "Settings.ini", "Highscore", $Name, "Error")
    If $Read = "Error" Then
    IniWrite( "Settings.ini", "Highscore", $Name, $i)
    $Status = "You broke the Score!"
    Else
    If $Read < $i Then
    IniWrite( "Settings.ini", "Highscore", $Name, $i)
    $Status = "You broke the score!"
    ElseIf $Read > $i Then
    $Status = "You didn't broke the score! The score is: " & $Read
    EndIf
    EndIf
    MsgBox( 0, "iClick", $Status)
    EndFunc
    Func _ScoreRead()
    $ScoreIni = IniReadSection( "Settings.ini", "Highscore")
    For $c = 1 to $ScoreIni[0][0]
    $line&= $ScoreIni[$c][0] & ": " & $ScoreIni[$c][1] & @CRLF
    Next
    MsgBox( 0, "Score", $line)
    EndFunc

    [/autoit]

    MFG!

    [Blockierte Grafik: http://stefan.blagojevic.at/loading.gif]

    Design, Modellbau, CAD <3
    AutoCAD, ArchiCAD, REVIT (ist ein Scheiss, habe aber das Zertifikat)

    Cinema 4D, RuckZuck Statik Programm

    Michael Bay als Architekt


    Da eine Glasfassade! Booom Sichtbeton! Laminiertes Bild auf Mosaiksteinchen! Granit! Granit! Granit! Sichtbetonwand mit 50° Neigung!
    Holzverkleidung erscheint da! Boooooom!

  • Das ganze reagiert garnicht so schnell wie ich klicke x) Aber trotzdem gute umsetzung...

    Zudem noch ein Bug:

    Wenn man zu schnell klickte, kommt das programm nicht hinterher. und nach dem ende, zählt es die nicht aufgenommenen klicke für die 2te runde mit ^^

  • Ganz schön viele Fehler drin, das solltest nochmal ernshaft überarbeiten.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.