#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
#include <Misc.au3>

$Width = 300
$Height = 460

$JumpSpeed = 0.15
$JumpHeight = 80 ;Pixel
$MoveSpeed = 0

$GUI1 = GUICreate("Doodle Jump - Gamma", $Width, $Height)
GUISetState(@SW_SHOW)

$pDoodle_Rechts = @ScriptDir&"\Doodle_Rechts e.png"
$pDoodle_Links = @ScriptDir&"\Doodle_Links e.png"

_GDIPlus_Startup()
$Background = _GDIPlus_ImageLoadFromFile (@ScriptDir&"\background.gif")

$Doodle_Rechts =_GDIPlus_ImageLoadFromFile ($pDoodle_Rechts)
$Doodle_Links = _GDIPlus_ImageLoadFromFile ($pDoodle_Links)
$Doodle_Height = _GDIPlus_ImageGetHeight($Doodle_Rechts)
$Doodle_Width = _GDIPlus_ImageGetWidth($Doodle_Rechts)
$AktuellerDoodle = $Doodle_Rechts

$Graphic = _GDIPlus_GraphicsCreateFromHWND($GUI1)
$Bitmap = _GDIPlus_BitmapCreateFromGraphics($Width, $Height, $Graphic)
$Buffer = _GDIPlus_ImageGetGraphicsContext($Bitmap)

$i = 0
$x = -36
;Msgbox(0, "", $Doodle_Width)

While 1
	$x -= $MoveSpeed
	Select
		Case _IsPressed("25")
			$MoveSpeed += 2
			$AktuellerDoodle = $Doodle_Links
		Case _IsPressed("27")
			$MoveSpeed -= 2
			$AktuellerDoodle = $Doodle_Rechts
		Case $x + $Doodle_Width < 0
			$x = $Width
		Case $x > $Width
			$x = $Doodle_Width * -1
		Case $MoveSpeed > 30
			$MoveSpeed =30
		Case $MoveSpeed < -30
			$MoveSpeed = -30
		EndSelect
	

    $i += $JumpSpeed
    $y = $Height - $Doodle_Height - 40 - Abs(Sin($i))*$JumpHeight

;~     _GDIPlus_GraphicsClear($Buffer, 0xFFFFFFFF)
    _GDIPlus_GraphicsDrawImage ($Buffer, $Background, 0, 0)

    _GDIPlus_GraphicsDrawImage ($Buffer, $AktuellerDoodle, $x, $y)
    _GDIPlus_GraphicsDrawImageRect($Graphic, $Bitmap, 0, 0, $Width, $Height)
    Sleep(20)

    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            _GDIPlus_GraphicsDispose($Graphic)
            _GDIPlus_ImageDispose($Buffer)
            _WinAPI_DeleteObject($Bitmap)

            Exit
    EndSwitch
WEnd