Doodle Jump für Pc

  • noch ein problem:
    wenn viele platten hintereinander kommen springt er aus dem bild..
    wenn man keinen neuen highscore hat kann man den namen nicht verändern

    Einmal editiert, zuletzt von JuraX (1. April 2010 um 11:49)

  • no ch ein problem:
    wenn viele platten hintereinander kommen springt er aus dem bild..
    wenn man keinen neuen highscore hat kann man den namen nicht verändern

    1. Ist bekannt.
    2. Ist auch richtig so, denn der Score wird ja gar nicht gespeichert wenns kein "Highscore" ist. Highscore = unter den ersten 5

    mfg Ubuntu

  • Das mit der Maus Steuerung sieht noch ein bisschen komisch aus...
    Wie wärs denn so:

    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>
    #include <GUIConstants.au3>

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

    Opt("MouseCoordMode", 2)

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

    $iGUIWidth = 400
    $iGUIHeight = 400
    $GUIColorBG = 0xFFFFFFFF
    $iX = 50
    $iY = 50
    $iSpeed = 0
    $iSpeedMax = 20

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

    $hWnd = GUICreate("Test", $iGUIWidth, $iGUIHeight)
    GUISetState()

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

    _GDIPlus_Startup()

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

    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hWnd)
    $hBitmap = _GDIPlus_BitmapCreateFromGraphics($iGUIWidth, $iGUIHeight, $hGraphic)
    $hBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    _GDIPlus_GraphicsSetSmoothingMode($hBuffer, 2)
    _GDIPlus_GraphicsClear($hGraphic, $GUIColorBG)

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

    AdlibRegister("_ReDraw", 20)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    AdlibUnRegister()
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_GraphicsDispose($hBuffer)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_Shutdown()
    Exit
    EndSwitch
    WEnd

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

    Func _ReDraw()
    $iDiff = $iX - MouseGetPos(0)
    If $iDiff < 0 Then $iDiff *= -1

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

    $iSpeed = $iDiff / 10
    If $iSpeed > $iSpeedMax Then $iSpeed = $iSpeedMax

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

    If Not ($iX <= MouseGetPos(0) + 10 And $iX >= MouseGetPos(0) - 10) Then
    If $iX < MouseGetPos(0) Then
    $iX += $iSpeed
    ElseIf $iX > MouseGetPos(0) Then
    $iX -= $iSpeed
    EndIf
    EndIf

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

    _GDIPlus_GraphicsClear($hBuffer, $GUIColorBG)
    _GDIPlus_GraphicsFillRect($hBuffer, $iX - 25, $iY - 25, 50, 50)
    _GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap, 0, 0, $iGUIWidth, $iGUIHeight)
    EndFunc ;==>_ReDraw

    [/autoit]


    Nur so als Beispiel ;)

  • Nicht schlecht.
    Kann man einbauen, muss man aber nicht ;)

    mfg Ubuntu

    Edit: hm ich hab noch mal nachgedacht und glaube das spiel wäre dann viel zu einfach.
    Immerhin muss man mit dem Mauszeiger einfach nur auf die Platte gehen und der Doodle wird darauf springen :!:

    Sieht zwar gut aus, ist aber denke ich nichts für die Praxis.

  • Die Maussteuerung soll doch das Kippen beim IPhone nachbauen oder nicht?. Mit der Steuerung von name22 wird das Spiel ja viel einfacher, man muss nur die Maus da hin halten, wo der Doodle hinsoll.

    Edit: Hey, als ich das geschrieben hab stand bei Ubuntu noch nichts davon :(

    Einmal editiert, zuletzt von progandy (1. April 2010 um 14:49)

  • Hallo,
    Mir ist gerade aufgefallen, das der Doodle im Wintermodus beim Backflip stark vergrössert wird 8|

    Ich mach dann mal die Sprungsiefel für den Wintermod.

  • Ist das normal, dass der Doodle bim Wintermod einen halben Zentimeter oder so über der Platte abspringt?

  • Wie wäre es dann damit (für eine optionale Tastatursteuerung)^^
    Mit den verschiedenen Variablen am Anfang kann man ja auch den Schwierigkeitsgrad verändern.

    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>
    #include <GUIConstants.au3>
    #include <Misc.au3>

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

    Opt("MouseCoordMode", 2)

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

    $iGUIWidth = 400
    $iGUIHeight = 400
    $GUIColorBG = 0xFFFFFFFF
    $iX = 200
    $iY = 200
    $PosNewX = 200
    $PosNewY = 200
    $iSpeed = 30
    $iSpeedMax = 25

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

    $hWnd = GUICreate("Test", $iGUIWidth, $iGUIHeight)
    GUISetState()

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

    _GDIPlus_Startup()

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

    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hWnd)
    $hBitmap = _GDIPlus_BitmapCreateFromGraphics($iGUIWidth, $iGUIHeight, $hGraphic)
    $hBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    _GDIPlus_GraphicsSetSmoothingMode($hBuffer, 2)
    _GDIPlus_GraphicsClear($hGraphic, $GUIColorBG)

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

    AdlibRegister("_ReDraw", 20)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    AdlibUnRegister()
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_GraphicsDispose($hBuffer)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_Shutdown()
    Exit
    EndSwitch
    WEnd

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

    Func _ReDraw()
    If _IsPressed("25") Then $PosNewX -= $iSpeed
    If _IsPressed("27") Then $PosNewX += $iSpeed

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

    $iDiffX = $iX - $PosNewX
    If $iDiffX < 0 Then $iDiffX *= -1

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

    $iSpeedX = $iDiffX / 10
    If $iSpeedX > $iSpeedMax Then $iSpeedX = $iSpeedMax

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

    If $iX < $PosNewX Then
    $iX += $iSpeedX
    ElseIf $iX > $PosNewX Then
    $iX -= $iSpeedX
    EndIf

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

    _GDIPlus_GraphicsClear($hBuffer, $GUIColorBG)
    _GDIPlus_GraphicsFillRect($hBuffer, $iX - 25, $iY - 25, 50, 50)
    _GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap, 0, 0, $iGUIWidth, $iGUIHeight)
    EndFunc ;==>_ReDraw

    [/autoit]
  • danke für die bilder

    werd die sofort einbauen


    edit

    ach ja

    name22

    bei den zeilen da

    [autoit]

    $iX1 = $x + $Doodle_Width + Cos(($Angle + 0-135) * $Pi_Div_180) * $Doodle_Width

    [/autoit]

    für was steht da das $Doodle_Width am ende?

    mir kommts nähmlich grad so vor als ob der doodle im normalmodus auch ein bisschen vergrößert wird