kleines reaktionsspiel (react) [update]

  • gibt wahrscheinlich viele solcher spiele aber is mir irwie in sinn gekommen da wollte ich ma sowass probieren. hab einige stunden dran geseßen besser hab ichs bis jetzt noch nicht hinbekommen. könnt mir ja ma paar feed backs geben oder auch gerne verbesserungsvorschläge.

    hauptteil:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include 'hiscore.au3'

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

    Global $pic1 = GUICtrlCreatePic("", 104, 8, 233, 105, BitOR($BS_BITMAP,$WS_GROUP))
    Global $x
    Global $diffstart = TimerInit()
    Global $difftotal = TimerInit()
    $showpic1 = @ScriptDir & "\showscharz.bmp"
    $showpic2 = @ScriptDir & "\showrot.bmp"
    $showpic3 = @ScriptDir & "\showgelb.bmp"
    $showpic4 = @ScriptDir & "\showgruen.bmp"
    Global $punkte = 0
    Global $name = ''
    $time = 30

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("React", 465, 314, 208, 142)
    $farbe1 = GUICtrlCreateButton("", 88, 144, 129, 73, BitOR($BS_BITMAP,$WS_GROUP))
    GUICtrlSetImage(-1, @ScriptDir & "\schwarz.bmp", -1)
    $farbe2 = GUICtrlCreateButton("", 232, 144, 129, 73, BitOR($BS_BITMAP,$WS_GROUP))
    GUICtrlSetImage(-1, @ScriptDir & "\rot.bmp", -1)
    $farbe3 = GUICtrlCreateButton("", 88, 224, 129, 73, BitOR($BS_BITMAP,$WS_GROUP))
    GUICtrlSetImage(-1, @ScriptDir & "\gelb.bmp", -1)
    $farbe4 = GUICtrlCreateButton("", 232, 224, 129, 73, BitOR($BS_BITMAP,$WS_GROUP))
    GUICtrlSetImage(-1, @ScriptDir & "\gruen.bmp", -1)
    $Label1 = GUICtrlCreateLabel("Klicke auf: ", 32, 56, 57, 17)
    $start = GUICtrlCreateButton("Start", 8, 8, 73, 33, $WS_GROUP)
    $labelpunkte = GUICtrlCreateLabel("Punkte: " & @CRLF & $punkte, 360, 8, 89, 57)
    $timeleft = GUICtrlCreateLabel("Übrige Zeit: "& @CRLF & $time & " sec", 360, 72, 91, 41)
    $Label3 = GUICtrlCreateLabel("Copyright by dph", 376, 272, 84, 33)
    $Button1 = GUICtrlCreateButton("Highscores", 376, 224, 73, 33, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    func randit()
    $x = random(1,4,1)
    if $x = 1 Then
    $pic1 = GUICtrlCreatePic("", 104, 8, 233, 105, BitOR($BS_BITMAP,$WS_GROUP))
    GUICtrlSetImage(-1, $showpic1, -1)
    $diffstart = TimerInit()
    EndIf
    if $x = 2 Then
    $pic1 = GUICtrlCreatePic("", 104, 8, 233, 105, BitOR($BS_BITMAP,$WS_GROUP))
    GUICtrlSetImage(-1, $showpic2, -1)
    $diffstart = TimerInit()
    EndIf
    if $x = 3 Then
    $pic1 = GUICtrlCreatePic("", 104, 8, 233, 105, BitOR($BS_BITMAP,$WS_GROUP))
    GUICtrlSetImage(-1, $showpic3, -1)
    $diffstart = TimerInit()
    EndIf
    if $x = 4 Then
    $pic1 = GUICtrlCreatePic("", 104, 8, 233, 105, BitOR($BS_BITMAP,$WS_GROUP))
    GUICtrlSetImage(-1, $showpic4, -1)
    $diffstart = TimerInit()
    EndIf
    EndFunc

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $start
    $punkte = 0
    $labelpunkte = GUICtrlCreateLabel("Punkte: " & @CRLF & $punkte, 360, 8, 89, 57)
    $difftotal = TimerInit()
    randit()
    Case $farbe1
    end()
    If $x = 1 Then
    punkte()
    randit()
    Else
    minuspunkte()
    EndIf
    Case $farbe2
    end()
    If $x = 2 Then
    punkte()
    randit()
    Else
    minuspunkte()
    EndIf
    Case $farbe3
    end()
    If $x = 3 Then
    punkte()
    randit()
    Else
    minuspunkte()
    EndIf
    Case $farbe4
    end()
    If $x = 4 Then
    punkte()
    randit()
    Else
    minuspunkte()
    EndIf
    Case $Button1
    ShellExecute("guihiscore.exe")
    EndSwitch
    WEnd

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

    func punkte()
    $diffend = TimerDiff($diffstart)
    $rounded = Round($diffend)
    if $rounded < 2000 Then
    $erg = 2000 - $rounded
    $punkte = $punkte + $erg
    elseif $rounded > 2000 Then
    $erg = $punkte/5
    $punkte = $punkte + Round($erg)
    EndIf
    $labelpunkte = GUICtrlCreateLabel("Punkte: " & @CRLF & $punkte, 360, 8, 89, 57)
    EndFunc

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

    func minuspunkte()
    $punkte = $punkte - 1000
    $labelpunkte = GUICtrlCreateLabel("Punkte: " & @CRLF & $punkte, 360, 8, 89, 57)
    EndFunc

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

    func end()
    $difftotalend = TimerDiff($difftotal)
    $dif = round($difftotalend)
    $erg2 = 30000-$dif
    $erg2 = $erg2/1000
    $erg2 = 30 - round($erg2)
    $time = 30 - $erg2
    $timeleft = GUICtrlCreateLabel("Übrige Zeit: "& @CRLF & $time & " sec", 360, 72, 91, 41)
    if $dif >= 30000 Then
    hiscorefunc()
    Exit
    EndIf
    EndFunc

    [/autoit]

    highscore einträge kann man bestimmt noch kürzen xD

    Spoiler anzeigen
    [autoit]

    Global $punkte = 0
    Global $name = ''
    $his1 = IniRead("highscore.ini","HIScore","1","")
    $his2 = IniRead("highscore.ini","HIScore","2","")
    $his3 = IniRead("highscore.ini","HIScore","3","")
    $his4 = IniRead("highscore.ini","HIScore","4","")
    $his5 = IniRead("highscore.ini","HIScore","5","")
    $his6 = IniRead("highscore.ini","HIScore","6","")
    $his7 = IniRead("highscore.ini","HIScore","7","")
    $his8 = IniRead("highscore.ini","HIScore","8","")
    $his9 = IniRead("highscore.ini","HIScore","9","")
    $his10 = IniRead("highscore.ini","HIScore","10","")
    $name1 = IniRead("highscore.ini","Name","1","")
    $name2 = IniRead("highscore.ini","Name","2","")
    $name3 = IniRead("highscore.ini","Name","3","")
    $name4 = IniRead("highscore.ini","Name","4","")
    $name5 = IniRead("highscore.ini","Name","5","")
    $name6 = IniRead("highscore.ini","Name","6","")
    $name7 = IniRead("highscore.ini","Name","7","")
    $name8 = IniRead("highscore.ini","Name","8","")
    $name9 = IniRead("highscore.ini","Name","9","")
    $name10 = IniRead("highscore.ini","Name","10","")

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

    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    func hiscorefunc()
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Score", 257, 147, 197, 119)
    $Label1 = GUICtrlCreateLabel("Deine Score beträgt: "& $punkte, 16, 16, 227, 49)
    $Input1 = GUICtrlCreateInput("", 120, 80, 89, 21)
    $showscore = GUICtrlCreateLabel("Name: ", 24, 80, 84, 20)
    $Button1 = GUICtrlCreateButton("Fertig", 80, 112, 97, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $name = GUICtrlRead($Input1)
    logit()
    highscore()
    exit
    EndSwitch
    WEnd
    EndFunc

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

    func highscore()
    if $punkte > $his1 Then
    placeit()
    IniWrite("highscore.ini","HIScore","1",$punkte)
    iniwrite("highscore.ini","Name","1",$name)
    ElseIf $punkte > $his2 Then
    placeit()
    IniWrite("highscore.ini","HIScore","2",$punkte)
    iniwrite("highscore.ini","Name","2",$name)
    ElseIf $punkte > $his3 Then
    placeit()
    IniWrite("highscore.ini","HIScore","3",$punkte)
    iniwrite("highscore.ini","Name","3",$name)
    ElseIf $punkte > $his4 Then
    placeit()
    IniWrite("highscore.ini","HIScore","4",$punkte)
    iniwrite("highscore.ini","Name","4",$name)
    ElseIf $punkte > $his5 Then
    placeit()
    IniWrite("highscore.ini","HIScore","5",$punkte)
    iniwrite("highscore.ini","Name","5",$name)
    ElseIf $punkte > $his6 Then
    placeit()
    IniWrite("highscore.ini","HIScore","6",$punkte)
    iniwrite("highscore.ini","Name","6",$name)
    ElseIf $punkte > $his7 Then
    placeit()
    IniWrite("highscore.ini","HIScore","7",$punkte)
    iniwrite("highscore.ini","Name","7",$name)
    ElseIf $punkte > $his8 Then
    placeit()
    IniWrite("highscore.ini","HIScore","8",$punkte)
    iniwrite("highscore.ini","Name","8",$name)
    ElseIf $punkte > $his9 Then
    placeit()
    IniWrite("highscore.ini","HIScore","9",$punkte)
    iniwrite("highscore.ini","Name","9",$name)
    ElseIf $punkte > $his10 Then
    placeit()
    IniWrite("highscore.ini","HIScore","10",$punkte)
    iniwrite("highscore.ini","Name","10",$name)
    EndIf
    EndFunc

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

    func placeit()
    if $punkte > $his1 Then
    IniWrite("highscore.ini","HIScore","2",$his1)
    iniwrite("highscore.ini","Name","2",$name1)
    EndIf
    if $punkte > $his2 Then
    IniWrite("highscore.ini","HIScore","3",$his2)
    iniwrite("highscore.ini","Name","3",$name2)
    EndIf
    if $punkte > $his3 Then
    IniWrite("highscore.ini","HIScore","4",$his3)
    iniwrite("highscore.ini","Name","4",$name3)
    EndIf
    if $punkte > $his4 Then
    IniWrite("highscore.ini","HIScore","5",$his4)
    iniwrite("highscore.ini","Name","5",$name4)
    EndIf
    if $punkte > $his5 Then
    IniWrite("highscore.ini","HIScore","6",$his5)
    iniwrite("highscore.ini","Name","6",$name5)
    EndIf
    if $punkte > $his6 Then
    IniWrite("highscore.ini","HIScore","7",$his6)
    iniwrite("highscore.ini","Name","7",$name6)
    EndIf
    if $punkte > $his7 Then
    IniWrite("highscore.ini","HIScore","8",$his7)
    iniwrite("highscore.ini","Name","8",$name7)
    EndIf
    if $punkte > $his8 Then
    IniWrite("highscore.ini","HIScore","9",$his8)
    iniwrite("highscore.ini","Name","9",$name8)
    EndIf
    if $punkte > $his9 Then
    IniWrite("highscore.ini","HIScore","10",$his9)
    iniwrite("highscore.ini","Name","10",$name9)
    EndIf
    EndFunc

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

    func logit()
    $file = FileOpen("score.log",1)
    FileWriteLine($file,"Score: " &$punkte& " Name: "& $name&" Gespielt am: " & @MDAY&"."&@MON&"."&@YEAR & " um: " &@HOUR&":"&@MIN)
    EndFunc

    [/autoit]

    highscore gui

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include 'hiscore.au3'
    #Region ### START Koda GUI section ### Form=d:\scripts\koda_1.7.2.0\forms\hiscores.kxf
    $Form1_1 = GUICreate("Highscores", 229, 289, 194, 118)
    $Label1 = GUICtrlCreateLabel("Highscores:", 8, 8, 60, 17)
    $Label2 = GUICtrlCreateLabel("1.", 8, 40, 13, 17)
    $Label3 = GUICtrlCreateLabel("2.", 8, 64, 13, 17)
    $Label4 = GUICtrlCreateLabel("3.", 8, 88, 13, 17)
    $Label5 = GUICtrlCreateLabel("4.", 8, 112, 13, 17)
    $Label6 = GUICtrlCreateLabel("5.", 8, 136, 13, 17)
    $Label7 = GUICtrlCreateLabel("6.", 8, 160, 13, 17)
    $Label8 = GUICtrlCreateLabel("7.", 8, 184, 13, 17)
    $Label9 = GUICtrlCreateLabel("8.", 8, 208, 13, 17)
    $Label10 = GUICtrlCreateLabel("9.", 8, 232, 13, 17)
    $Label11 = GUICtrlCreateLabel("10.", 8, 256, 19, 17)
    $Label12 = GUICtrlCreateLabel($his1, 24, 40, 42, 17)
    $Label13 = GUICtrlCreateLabel($his2, 24, 64, 42, 17)
    $Label14 = GUICtrlCreateLabel($his3, 24, 88, 42, 17)
    $Label15 = GUICtrlCreateLabel($his4, 24, 112, 42, 17)
    $Label16 = GUICtrlCreateLabel($his5, 24, 136, 42, 17)
    $Label17 = GUICtrlCreateLabel($his6, 24, 160, 42, 17)
    $Label18 = GUICtrlCreateLabel($his7, 24, 184, 42, 17)
    $Label19 = GUICtrlCreateLabel($his8, 24, 208, 42, 17)
    $Label20 = GUICtrlCreateLabel($his9, 24, 232, 42, 17)
    $Label21 = GUICtrlCreateLabel($his10, 32, 256, 42, 17)
    $Label22 = GUICtrlCreateLabel($name1, 152, 40, 42, 17)
    $Label23 = GUICtrlCreateLabel($name2, 152, 64, 42, 17)
    $Label24 = GUICtrlCreateLabel($name3, 152, 88, 42, 17)
    $Label25 = GUICtrlCreateLabel($name4, 152, 112, 42, 17)
    $Label26 = GUICtrlCreateLabel($name5, 152, 136, 42, 17)
    $Label27 = GUICtrlCreateLabel($name6, 152, 160, 42, 17)
    $Label28 = GUICtrlCreateLabel($name7, 152, 184, 42, 17)
    $Label29 = GUICtrlCreateLabel($name8, 152, 208, 42, 17)
    $Label30 = GUICtrlCreateLabel($name9, 152, 232, 42, 17)
    $Label31 = GUICtrlCreateLabel($name10, 152, 256, 42, 17)
    $Label32 = GUICtrlCreateLabel("von:", 152, 8, 42, 17)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

    [/autoit]
  • Tolles Game! Die Buttons kannst du auch färben indem du statt der Bilder das verwendest

    [autoit]

    $button = Guictrlcreatebutton ("", left, top, breite, hoehe)
    guictrlsetdata (-1, 0x000000); Wenn du -1 verwendest, muss diese Zeile genau unter den Button
    guictrlsetdata ($button, 0x000000); Wenn du die Variable des Buttons verwendest, ist es egal, wo diese Zeile ist

    [/autoit]


    MfG tobi_girst

    MfG. tobi_girst

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »tobi_girst« (Morgen, 25:63)

  • Tolles Game! Die Buttons kannst du auch färben indem du statt der Bilder das verwendest

    [autoit]

    $button = Guictrlcreatebutton ("", left, top, breite, hoehe)
    guictrlsetdata (-1, 0x000000); Wenn du -1 verwendest, muss diese Zeile genau unter den Button
    guictrlsetdata ($button, 0x000000); Wenn du die Variable des Buttons verwendest, ist es egal, wo diese Zeile ist

    [/autoit]


    MfG tobi_girst

    oh stimmt das is mir gar net eingefallen damit wirds glaube au besser gehen werd ich ma ausprobieren thx

  • guictrlsetdata (-1, 0x000000)

    [autoit]

    $farbe3 = Guictrlcreatebutton ("", 88, 224, 129, 73, BitOR($BS_BITMAP,$WS_GROUP))
    guictrlsetdata ($farbe3, 0xFFFF00)
    $farbe4 = Guictrlcreatebutton ("", 232, 224, 129, 73, BitOR($BS_BITMAP,$WS_GROUP))
    guictrlsetdata ($farbe4, 0x0080000)

    [/autoit]

    wieso gehten das nich? is dohc eig so richtig? hab au mit (-1, farbcode) gemacht ging aber au net un au ohne das BitOr

    • Offizieller Beitrag
    [autoit]

    $farbe3 = Guictrlcreatebutton ("", 88, 224, 129, 73, BitOR($BS_BITMAP,$WS_GROUP))
    guictrlsetdata ($farbe3, 0xFFFF00)
    $farbe4 = Guictrlcreatebutton ("", 232, 224, 129, 73, BitOR($BS_BITMAP,$WS_GROUP))
    guictrlsetdata ($farbe4, 0x0080000)

    [/autoit]

    wieso gehten das nich? is dohc eig so richtig? hab au mit (-1, farbcode) gemacht ging aber au net un au ohne das BitOr

    Statt GUICtrlSetData musst Du GUICtrlSetBkColor benutzen.