Hey
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:
#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
$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!")
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
MFG!