Click Me - Ein völlig sinnloses Spiel

  • Hab gestern die (extrem sinnlose) App "Touch Me" fürn iPod entdeckt. Und da ich sowieso zu viel Langeweile hab, hab ichs gleich mal nachgemacht (Ist nichts großes...):

    Spoiler anzeigen
    [autoit]

    Global $clicks=0, $time=1, $hTimer=""
    $hGUI = GUICreate("Click Me!", 200, 300, 192, 124)
    $cLabel = GUICtrlCreateLabel("0", 75, 95, 100, 100)
    GUICtrlSetState(-1, 128)
    GUICtrlSetFont(-1, 60)
    $btn1 = GUICtrlCreateButton("Click Me", 4, 125, 192, 25)
    $TimeP = GUICtrlCreateLabel("", 0, 290, 200, 5)
    GUICtrlSetBkColor(-1, 0x00FF00)
    GUISetState()
    GUIRegisterMsg(0x0201, "WM_LBUTTONDOWN")
    setHotKeys()
    While True
    Switch GUIGetMsg()
    Case -3
    Exit
    Case $btn1
    If $clicks=0 Then
    $hTimer=TimerInit()
    $clicks+=1
    GUICtrlSetData($cLabel, $clicks)
    GUICtrlSetPos($btn1, 4, Random(8, 260))
    Else
    $time=1000-TimerDiff($hTimer)+1
    $hTimer=TimerInit()
    $clicks+=1
    GUICtrlSetPos($btn1, 4, Random(8, 260))
    GUICtrlSetData($cLabel, $clicks)
    If $clicks=10 Then GUICtrlSetPos($cLabel, 55, 95)
    EndIf
    EndSwitch
    If NOt WinActive($hGUI) Then
    unSetHotKeys()
    While Not WinActive($hGUI)
    sleep(100)
    WEnd
    setHotKeys()
    EndIf
    If $hTimer<>"" Then GUICtrlSetPos($TimeP, 0, 290, (1000-TimerDiff($hTimer))*2/10, 5)
    If TimerDiff($hTimer)>1000 And $hTimer<>"" Then
    MsgBox(0, "Verloren", "Du hast mit "&$clicks&" Klicks verloren.")
    $hTimer=""
    $clicks=0
    GUICtrlSetPos($TimeP, 0, 290, 200, 5)
    GUICtrlSetPos($cLabel, 75, 95)
    GUICtrlSetData($cLabel, "0")
    EndIf
    WEnd
    Func setHotKeys()
    HotKeySet("{SPACE}", "doNothing")
    HotKeySet("{ENTER}", "doNothing")
    EndFunc
    Func unSetHotKeys()
    HotKeySet("{SPACE}")
    HotKeySet("{ENTER}")
    EndFunc
    Func doNothing()
    EndFunc
    Func WM_LBUTTONDOWN()
    $aCursor=GUIGetCursorInfo()
    If IsArray($aCursor) Then
    If $aCursor[4]<>$btn1 Then
    MsgBox(0, "Verloren", "Du hast mit "&$clicks&" Klicks verloren.")
    $hTimer=""
    $clicks=0
    GUICtrlSetPos($TimeP, 0, 290, 200, 5)
    GUICtrlSetPos($cLabel, 75, 95)
    GUICtrlSetData($cLabel, "0")
    EndIf
    EndIf
    EndFunc

    [/autoit]
  • Erstmal muss ich sagen sieht gut aus :D Das es sinnlos ist war klar, ist ja bei den meisten Apps so ;) Macht irgendwie nach 100 Klicks keinen Spaß mehr...
    Aber trotzdem gut gelungen :thumbup:
    (Wer keine Lust hat zu Tippen, Control Click bringts auch ;))


    //Edit: Bei über 100 Klicks sieht man die Anzahl der Klicks nichtmehr ganz, die letzte Zahl nur halb ;)

    mfg BB

    "IF YOU'RE GOING TO KILL IT
    OPEN SOURCE IT!"

    by Phillip Torrone

    Zitat von Shoutbox

    [Heute, 11:16] Andy: ....böseböseböseböse....da erinnere ich mich daran, dass man den Puschelschwanz eines KaRnickels auch "Blume" nennt....ob da eins zum anderen passt? :rofl: :rofl: :rofl: :rofl:

    https://autoit.de/index.php?page…leIt#post251138

    Neon Snake

    2 Mal editiert, zuletzt von BadBunny (14. November 2010 um 10:36)

  • stayawayknight, wie tief bist du denn gesunken das Spiel nicht mal bis 1000 zu schaffen, bzw es überhaupt so lange zu spielen *lach*

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • Hab den Don't Click me Button eingebaut. Da die Zeit Anzeuige als Label flackert, wollte ich es auf GDI+ umbauen, da ich jedoch keinen Backbuffer einbauen kann (da sonst die Control verschwinden) flackert dies auch. Hat vllt. jemand eine Lösung?

    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>
    Global $clicks=0, $time=1, $hTimer="", $mode=0
    _GDIPlus_Startup()
    $linePen=_GDIPlus_PenCreate(0xFF00FF00, 5)
    $bgPen=_GDIPlus_PenCreate(0xFFFFFFFF, 5)
    $hGUI = GUICreate("Click Me!", 200, 300, 192, 124)
    GUISetBKColor(0xFFFFFF)
    $hGraphics=_GDIPlus_GraphicsCreateFromHWND($hGUI)
    $cLabel = GUICtrlCreateLabel("0", 75, 95, 200, 200)
    GUICtrlSetState(-1, 128)
    GUICtrlSetFont(-1, 60)
    $btn1 = GUICtrlCreateButton("Click Me", 4, 125, 192, 25)
    ;~ $TimeP = GUICtrlCreateLabel("", 0, 290, 200, 5)
    ;~ GUICtrlSetBkColor(-1, 0x00FF00)
    GUISetState()
    _GDIPlus_GraphicsDrawLine($hGraphics, 0, 290, 200, 290, $LinePen)
    GUIRegisterMsg(0x0201, "WM_LBUTTONDOWN")
    setHotKeys()
    While True
    Switch GUIGetMsg()
    Case -3
    _GDIPlus_PenDispose($linePen)
    _GDIPlus_PenDispose($bgPen)
    _GDIPlus_GraphicsDispose($hGraphics)
    _GDIPlus_Shutdown()
    Exit
    Case $btn1
    If $clicks=0 Then
    $hTimer=TimerInit()
    $clicks+=1
    GUICtrlSetData($cLabel, $clicks)
    GUICtrlSetPos($btn1, 4, Random(8, 260))
    Else
    If $mode=1 Then
    loose()
    ContinueLoop
    EndIf
    $time=1000-TimerDiff($hTimer)+1
    $hTimer=TimerInit()
    $clicks+=1
    GUICtrlSetPos($btn1, 4, Random(8, 260))
    GUICtrlSetData($cLabel, $clicks)
    If $clicks=10 Then GUICtrlSetPos($cLabel, 55, 95)
    If $clicks=100 Then GUICtrlSetPos($cLabel, 35, 95)
    If $clicks=1000 Then GUICtrlSetPos($cLabel, 15, 95)
    $random=Random(1, 5, 1)
    If $random>1 Then $mode=0
    If $random=1 Then $mode=1
    If $mode=1 Then GUICtrlSetData($btn1, "Don't Click Me!")
    If $mode=0 Then GUICtrlSetData($btn1, "Click Me!")
    EndIf
    EndSwitch
    If NOt WinActive($hGUI) Then
    unSetHotKeys()
    While Not WinActive($hGUI)
    sleep(100)
    WEnd
    setHotKeys()
    EndIf
    If $hTimer<>"" Then _GDIPlus_GraphicsDrawLine($hGraphics, 0, 290, 200, 290, $bgPen)
    If $hTimer<>"" Then _GDIPlus_GraphicsDrawLine($hGraphics, 0, 290, (1000-TimerDiff($hTimer))*2/10, 290, $LinePen)
    If TimerDiff($hTimer)>1000 And $hTimer<>"" Then
    If $mode=1 Then
    $hTimer=TimerInit()
    $mode=0
    GUICtrlSetData($btn1, "Click Me!")
    ContinueLoop
    EndIf
    loose()
    EndIf
    WEnd
    Func setHotKeys()
    HotKeySet("{SPACE}", "doNothing")
    HotKeySet("{ENTER}", "doNothing")
    EndFunc
    Func unSetHotKeys()
    HotKeySet("{SPACE}")
    HotKeySet("{ENTER}")
    EndFunc
    Func doNothing()
    EndFunc
    Func WM_LBUTTONDOWN()
    $aCursor=GUIGetCursorInfo()
    If IsArray($aCursor) Then
    If $aCursor[4]<>$btn1 Then loose()
    EndIf
    EndFunc
    Func loose()
    MsgBox(0, "Verloren", "Du hast mit "&$clicks&" Klicks verloren.")
    $hTimer=""
    $clicks=0
    $mode=0
    GUICtrlSetData($btn1, "Click Me!")
    GUICtrlSetPos($cLabel, 75, 95)
    GUICtrlSetData($cLabel, "0")
    _GDIPlus_GraphicsDrawLine($hGraphics, 0, 290, 200, 290, $LinePen)
    EndFunc

    [/autoit]


    Die Klicks dürften jetzt bis 9999 vollständig erkennbar sein, ich denke soweit kommt man nicht ^^
    Wie tief ich gesunken bin? So tief, wie es nur geht :D

  • So flackerts zwar kaum, aber optimal ist die Lösung auch nicht:

    Spoiler anzeigen
    [autoit]

    Global $clicks=0, $time=1, $hTimer="", $mode=0
    $hGUI = GUICreate("Click Me!", 200, 300, 192, 124)
    GUISetBKColor(0xFFFFFF)
    $cLabel = GUICtrlCreateLabel("0", 75, 95, 200, 200)
    GUICtrlSetState(-1, 128)
    GUICtrlSetFont(-1, 60)
    $btn1 = GUICtrlCreateButton("Click Me", 4, 125, 192, 25)
    $TimeP = GUICtrlCreateLabel("", 0, 290, 200, 5)
    GUICtrlSetBkColor(-1, 0x00FF00)
    GUISetState()
    GUIRegisterMsg(0x0201, "WM_LBUTTONDOWN")
    setHotKeys()
    AdlibRegister("RefreshTimeLabel", 50)
    While true
    Switch GUIGetMsg()
    Case -3
    Exit
    Case $btn1
    If $clicks=0 Then
    $hTimer=TimerInit()
    $clicks+=1
    GUICtrlSetData($cLabel, $clicks)
    GUICtrlSetPos($btn1, 4, Random(8, 260))
    Else
    If $mode=1 Then
    loose()
    ContinueLoop
    EndIf
    $time=1000-TimerDiff($hTimer)+1
    $hTimer=TimerInit()
    $clicks+=1
    GUICtrlSetPos($btn1, 4, Random(8, 260))
    GUICtrlSetData($cLabel, $clicks)
    If $clicks=10 Then GUICtrlSetPos($cLabel, 55, 95)
    If $clicks=100 Then GUICtrlSetPos($cLabel, 35, 95)
    If $clicks=1000 Then GUICtrlSetPos($cLabel, 15, 95)
    $random=Random(1, 5, 1)
    If $random>1 Then $mode=0
    If $random=1 Then $mode=1
    If $mode=1 Then GUICtrlSetData($btn1, "Don't Click Me!")
    If $mode=0 Then GUICtrlSetData($btn1, "Click Me!")
    EndIf
    EndSwitch
    If NOt WinActive($hGUI) Then
    unSetHotKeys()
    While Not WinActive($hGUI)
    sleep(100)
    WEnd
    setHotKeys()
    EndIf
    If TimerDiff($hTimer)>1000 And $hTimer<>"" Then
    If $mode=1 Then
    $hTimer=TimerInit()
    $mode=0
    GUICtrlSetData($btn1, "Click Me!")
    ContinueLoop
    EndIf
    loose()
    EndIf
    WEnd
    Func setHotKeys()
    HotKeySet("{SPACE}", "doNothing")
    HotKeySet("{ENTER}", "doNothing")
    EndFunc
    Func unSetHotKeys()
    HotKeySet("{SPACE}")
    HotKeySet("{ENTER}")
    EndFunc
    Func doNothing()
    EndFunc
    Func WM_LBUTTONDOWN()
    $aCursor=GUIGetCursorInfo()
    If IsArray($aCursor) Then
    If $aCursor[4]<>$btn1 Then loose()
    EndIf
    EndFunc
    Func loose()
    MsgBox(0, "Verloren", "Du hast mit "&$clicks&" Klicks verloren.")
    $hTimer=""
    $clicks=0
    $mode=0
    GUICtrlSetData($btn1, "Click Me!")
    GUICtrlSetPos($cLabel, 75, 95)
    GUICtrlSetData($cLabel, "0")
    GUICtrlSetPos($TimeP, 0, 290, 200)
    EndFunc
    Func RefreshTimeLabel()
    If $hTimer<>"" Then GUICtrlSetPos($TimeP, 0, 290, (1000-TimerDiff($hTimer))*2/10)
    EndFunc

    [/autoit]
  • wäre es jetzt an dieser Stelle eigentlich gegen die Forumregeln, ein Bot für dieses Spiel zu schreiben (und es hier zu posten)? ^^

    Spoiler anzeigen
    Zitat von Regeln

    3. Folgende Inhalte sind absolut unerwünscht. Das Team behält es sich ausdrücklich vor, bei Verstoß gegen diese Regeln je nach Schweregrad zu verwarnen, zu löschen oder gar komplett zu sperren:
    - [...]
    - Bots für Spiele jeglicher Art, insbesondere Onlinespiele und ganz besonders Silkroad Online sowie World of Warcraft

    "Je mehr Käse, desto mehr Löcher; je mehr Löcher, desto weniger Käse. Ergo: Je mehr Käse, desto weniger Käse. 8| "
    "Programmers never die: they just GOSUB without RETURN"
    "I tried to change the world but I couldn't find the source code."

  • dann wärs ein sinnloser Hack zu einem sinnlosen spiel xDD. naja was bringts auch nen Hack auf ein Clickspiel zu schreiben. Dann kann man ja direkt den Quellcode ändern..

    "Je mehr Käse, desto mehr Löcher; je mehr Löcher, desto weniger Käse. Ergo: Je mehr Käse, desto weniger Käse. 8| "
    "Programmers never die: they just GOSUB without RETURN"
    "I tried to change the world but I couldn't find the source code."

  • seh' ich anders.. also mit Hack meine ich sowas wie "cheat". also so'n cheaterbot.. was aber wie oben schon gesagt sinnlos wär^^ oder... seh ich irendwas an dem Wort "hack" falsch??

    "Je mehr Käse, desto mehr Löcher; je mehr Löcher, desto weniger Käse. Ergo: Je mehr Käse, desto weniger Käse. 8| "
    "Programmers never die: they just GOSUB without RETURN"
    "I tried to change the world but I couldn't find the source code."

    Einmal editiert, zuletzt von Developer30 (14. November 2010 um 18:00)

  • Nein Ineluki hat das verdreht, ich meinte nur im sinne wenn man einen hack schreiben will...
    N Bot für das spiel brauchste nicht, machste einfach den adlib niedriger -..-

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • achso^^

    Edit: Ich meine mit Bot auch nur, für den Fall, dass man nur eine EXE vom Spiel hätte. Wenn man den Adlib ändert ist es sowas wie ein "Crack" vom Spiel, bzw eine Manipulation... Oder wenn man es harmlos sieht --> man hat das Level geändert :D

    "Je mehr Käse, desto mehr Löcher; je mehr Löcher, desto weniger Käse. Ergo: Je mehr Käse, desto weniger Käse. 8| "
    "Programmers never die: they just GOSUB without RETURN"
    "I tried to change the world but I couldn't find the source code."

    Einmal editiert, zuletzt von Developer30 (14. November 2010 um 18:11)

  • Jap;
    Hacken = Werte im Programmablauf durch äußéren Zugriff (Mem-Veränderungen) ändern.
    Bot = Automatisieren von Vorgängen, die ebenso (vielleicht aber nicht so schnell) ein Mensch hätte erledigen können.
    Cheaten = Vorgegebene "geheime" Tastenkombinationen, die vom Herrsteller ins Spiel intergriert wurden, zu nutzen

  • Cheaten = Vorgegebene "geheime" Tastenkombinationen, die vom Herrsteller ins Spiel intergriert wurden, zu nutzen


    muss nicht zwangsläufig sein. Gibt auch Leute, die Spiele disassemblieren/dekompilieren, oder sich sonstwie den Quellcode verschaffen und das Spiel im nachhinein manipulieren (Cracks)... ist aber im allgemeinen so wie du meintest....

    "Je mehr Käse, desto mehr Löcher; je mehr Löcher, desto weniger Käse. Ergo: Je mehr Käse, desto weniger Käse. 8| "
    "Programmers never die: they just GOSUB without RETURN"
    "I tried to change the world but I couldn't find the source code."