Autobahn [QuickDraw]

  • [Blockierte Grafik: http://www8.pic-upload.de/14.09.11/g4stv9m7uqh.png]
    DOWNLOAD v1.0
    DOWNLOAD v1.1
    DOWNLOAD v1.2

    Beschreibung

    ich habe mal versucht das spiel kamakaze race in quickdraw umzusetzen. in dem spiel müsst ihr den autos ausweichen mit der zeit wirst du schneller und dadurch wird das ausweichen schwieriger

    Script v1.0
    [autoit]

    #include <QuickDraw.au3>
    #include <GUIConstants.au3>
    Dim $Car[4]
    Dim $Object[10][4]
    Dim $Lanes[6]
    Dim $high[10]
    $high[0] = 200
    $high[1] = 500
    $high[2] = 1000
    $high[3] = 1500
    $high[4] = 2000
    $high[5] = 2500
    $high[6] = 3000
    $high[7] = 5000
    $high[8] = 10000
    $high[9] = 20000
    Global $Title = "Game"
    Global $Width = 700
    Global $Height = 660
    Global $Timer = 0
    Global $Speed = 0
    _QuickDraw_Enable($Title, $Width, $Height, 0, 0, False)
    Dim $Texture[5]
    $Texture[0] = _QuickDraw_LoadTexture("car1.png")
    $Texture[1] = _QuickDraw_LoadTexture("car2.png")
    $Texture[2] = _QuickDraw_LoadTexture("car3.png")
    $Texture[3] = _QuickDraw_LoadTexture("car4.png")
    $Texture[4] = _QuickDraw_LoadTexture("car5.png")
    $Tacho = _QuickDraw_LoadTexture("tacho.png")
    WinMove($Title, "", @DesktopWidth / 2 - $Width / 2, @DesktopHeight / 2 - $Height / 2)
    _Game()
    Func _Game()
    Local $Font = _QuickDraw_CreateFont("Courier New")
    HotKeySet("{RIGHT}", "_Right")
    HotKeySet("{LEFT}", "_Left")
    $Car[0] = 6
    $Car[1] = $Height - 150
    $Car[2] = 39
    $Car[3] = 70
    $Speed = 2
    $Counter = 6
    For $i = 0 To UBound($Object) - 1
    $Object[$i][0] = Random(0 - $Height, 0)
    $Object[$i][2] = $Counter
    $Object[$i][3] = $Texture[Round(Random(0, UBound($Texture) - 1))]
    $Counter = $Counter + 50
    Next
    $Positon = 0
    For $i = 0 To UBound($Lanes) - 1
    $Lanes[$i] = $Positon
    $Positon = $Positon + 120
    Next
    While ( _QuickDraw_Running() And (GUIGetMsg() <> $GUI_EVENT_CLOSE))
    _QuickDraw_ClearBuffer(0xFF000000)
    AdlibRegister("_Counter", 10)
    For $i = 0 To UBound($Object) - 1
    $Object[$i][0] = $Object[$i][0] + $Speed
    If $Object[$i][0] >= $Height Then
    $Object[$i][0] = Random(0 - $Height, 0)
    $Object[$i][3] = $Texture[Round(Random(0, UBound($Texture) - 1))]
    EndIf
    $Object[$i][1] = _QuickDraw_Rect($Object[$i][2], $Object[$i][0], $Car[2], $Car[3], $Object[$i][3], 0xFFFFFFFF)
    Next
    _QuickDraw_Rect($Car[0], $Car[1], $Car[2], $Car[3], $Texture, 0xFFFF0000)
    _Collision($Car[0], $Car[1])
    For $i = 0 To UBound($Lanes) - 1
    $Lanes[$i] = $Lanes[$i] + $Speed - 1
    If $Lanes[$i] >= $Height Then $Lanes[$i] = -60
    For $i2 = 1 To 10
    _QuickDraw_Rect($i2 * 50, $Lanes[$i], 1, 60, $Draw_Fill, 0xFF999999)
    Next
    Next
    _QuickDraw_Text(1, 20, $Timer, 28, $Font, $Draw_Fill, 0xFFFFFFFF)
    _QuickDraw_Rect($Width - 185, $Height - 185, 175, 175, $Tacho, 0xFFFFFFFF)
    _QuickDraw_Line($Width - 185 + 88, $Height - 185 + 88, $Width - 185, $Height - 185, 0xFF0000FF)
    _QuickDraw_SwapBuffers()
    WEnd
    _QuickDraw_FreeFont($Font)
    For $i = 0 To UBound($Texture) - 1
    _QuickDraw_FreeTexture($Texture[$i])
    Next
    _QuickDraw_FreeTexture($Tacho)
    _QuickDraw_Disable()
    EndFunc ;==>_Game
    Func _Right()
    $State = True
    For $i = 0 To UBound($Object) - 1
    If $Car[1] > Round($Object[$i][0]) - 10 And $Car[1] < Round($Object[$i][0]) + $Car[3] + 10 And $Car[0] + 50 = $Object[$i][2] Then $State = False
    Next
    If $State = True Then
    If $Car[0] <= $Width - $Car[3] - 200 Then
    $Car[0] = $Car[0] + 50
    EndIf
    EndIf
    EndFunc ;==>_Right
    Func _Left()
    $State = True
    For $i = 0 To UBound($Object) - 1
    If $Car[1] > Round($Object[$i][0]) - 10 And $Car[1] < Round($Object[$i][0]) + $Car[3] + 10 And $Car[0] - 50 = $Object[$i][2] Then $State = False
    Next
    If $State = True Then
    If $Car[0] <> 0 + 6 Then
    $Car[0] = $Car[0] - 50
    EndIf
    EndIf
    EndFunc ;==>_Left
    Func _Collision($PosX, $PosY)
    For $i = 0 To UBound($Object) - 1
    If $PosX = $Object[$i][2] And $PosY > Round($Object[$i][0]) + $Car[3] - 7 And $PosY < Round($Object[$i][0]) + $Car[3] + 7 Then
    $Speed = 2
    $Timer = 0
    EndIf
    Next
    EndFunc ;==>_Collision
    Func _Counter()
    $Timer = $Timer + 1
    For $i = 0 To UBound($high) - 1
    If $Timer = $high[$i] Then $Speed = $Speed + 1
    Next
    EndFunc ;==>_Counter

    [/autoit]
    Script v1.1
    [autoit]

    #include <QuickDraw.au3>
    If Not FileExists("Auto1.png") Then FileInstall("Auto1.png", "Auto1.png")
    If Not FileExists("Auto2.png") Then FileInstall("Auto2.png", "Auto2.png")
    If Not FileExists("Auto3.png") Then FileInstall("Auto3.png", "Auto3.png")
    If Not FileExists("Auto4.png") Then FileInstall("Auto4.png", "Auto4.png")
    If Not FileExists("Auto5.png") Then FileInstall("Auto5.png", "Auto5.png")
    If Not FileExists("Tachometer.png") Then FileInstall("Tachometer.png", "Tachometer.png")
    If Not FileExists("QuickDraw.dll") Then FileInstall("QuickDraw.dll", "QuickDraw.dll")
    If Not FileExists("FreeImage.dll") Then FileInstall("FreeImage.dll", "FreeImage.dll")
    If Not FileExists("Punkte.ini") Then FileInstall("Punkte.ini", "Punkte.ini")
    If Not FileExists("Autobahn.au3") Then FileInstall("Autobahn.au3", "Autobahn.au3")
    If Not FileExists("QuickDraw.au3") Then FileInstall("QuickDraw.au3", "QuickDraw.au3")
    Global $Titel = "Autobahn"
    Global $Breite = 700
    Global $Hoehe = 660
    Global $Punktestand = 0
    Global $Geschwindigkeit = 2
    Global $Zaehler = 6
    _QuickDraw_Enable($Titel, $Breite, $Hoehe, 0, 0, False)
    Dim $Auto[4]
    $Auto[0] = 6
    $Auto[1] = 510
    $Auto[2] = 39
    $Auto[3] = 70
    Dim $Objekt[10][5]
    Dim $Linien[6]
    Dim $Punkte[10]
    Dim $Textur[5]
    $Textur[0] = _QuickDraw_LoadTexture("Auto1.png")
    $Textur[1] = _QuickDraw_LoadTexture("Auto2.png")
    $Textur[2] = _QuickDraw_LoadTexture("Auto3.png")
    $Textur[3] = _QuickDraw_LoadTexture("Auto4.png")
    $Textur[4] = _QuickDraw_LoadTexture("Auto5.png")
    Global $Tachometer = _QuickDraw_LoadTexture("Tachometer.png")
    Global $Schrift = _QuickDraw_CreateFont("Courier New")
    WinMove($Titel, "", @DesktopWidth / 2 - $Breite / 2, @DesktopHeight / 2 - $Hoehe / 2)
    _Spiel()
    Func _Spiel()
    _PunkteLesen()
    HotKeySet("{RIGHT}", "_Rechts")
    HotKeySet("{LEFT}", "_Links")
    _ObjektZufall()
    $Positon = 0
    For $i = 0 To UBound($Linien) - 1
    $Linien[$i] = $Positon
    $Positon = $Positon + 120
    Next
    While ( _QuickDraw_Running() And (GUIGetMsg() <> -16))
    _QuickDraw_ClearBuffer(0xFF000000)
    AdlibRegister("_PunkteZaehler", 10)
    For $i = 0 To UBound($Objekt) - 1
    $Objekt[$i][0] = $Objekt[$i][0] + $Geschwindigkeit - $Objekt[$i][4]
    If $Objekt[$i][0] >= $Hoehe Then
    $Objekt[$i][0] = Random(0 - $Hoehe, -$Auto[3])
    $Objekt[$i][4] = Round(Random(0, 2))
    $Objekt[$i][3] = $Textur[Round(Random(0, UBound($Textur) - 1))]
    EndIf
    $Objekt[$i][1] = _QuickDraw_Rect($Objekt[$i][2], $Objekt[$i][0], $Auto[2], $Auto[3], $Objekt[$i][3], 0xFFFFFFFF)
    Next
    _QuickDraw_Rect($Auto[0], $Auto[1], $Auto[2], $Auto[3], $Textur, 0xFFFF0000)
    _Kollision($Auto[0], $Auto[1])
    For $i = 0 To UBound($Linien) - 1
    $Linien[$i] = $Linien[$i] + $Geschwindigkeit + 1
    If $Linien[$i] >= $Hoehe Then $Linien[$i] = -60
    For $i2 = 1 To 10
    _QuickDraw_Rect($i2 * 50, $Linien[$i], 1, 60, $Draw_Fill, 0xFF999999)
    Next
    Next
    _QuickDraw_Text(1, 20, $Punktestand, 28, $Schrift, $Draw_Fill, 0xFFFFFFFF)
    _QuickDraw_Rect($Breite - 185, $Hoehe - 185, 175, 175, $Tachometer, 0xFFFFFFFF)
    _QuickDraw_RotateNext($Breite - 97, $Hoehe - 97, $Geschwindigkeit * 22)
    _QuickDraw_Line($Breite - 97, $Hoehe - 97, 539, 620, 0xFF0000FF)
    _ZeigePunkte()
    _QuickDraw_SwapBuffers()
    WEnd
    For $i = 0 To UBound($Textur) - 1
    _QuickDraw_FreeTexture($Textur[$i])
    Next
    _QuickDraw_FreeTexture($Tachometer)
    _QuickDraw_FreeFont($Schrift)
    _QuickDraw_Disable()
    EndFunc ;==>_Spiel
    Func _Rechts()
    $Status = True
    For $i = 0 To UBound($Objekt) - 1
    If $Auto[1] > Round($Objekt[$i][0]) - $Auto[3] And $Auto[1] < Round($Objekt[$i][0]) + $Auto[3] + 10 And $Auto[0] + 50 = $Objekt[$i][2] Then $Status = False
    Next
    If $Status = True Then
    If $Auto[0] <= $Breite - $Auto[3] - 200 Then
    $Auto[0] = $Auto[0] + 50
    EndIf
    EndIf
    EndFunc ;==>_Rechts
    Func _Links()
    $Status = True
    For $i = 0 To UBound($Objekt) - 1
    If $Auto[1] > Round($Objekt[$i][0]) - $Auto[3] And $Auto[1] < Round($Objekt[$i][0]) + $Auto[3] + 10 And $Auto[0] - 50 = $Objekt[$i][2] Then $Status = False
    Next
    If $Status = True Then
    If $Auto[0] <> 0 + 6 Then
    $Auto[0] = $Auto[0] - 50
    EndIf
    EndIf
    EndFunc ;==>_Links
    Func _Kollision($PosX, $PosY)
    For $i = 0 To UBound($Objekt) - 1
    If $PosX = $Objekt[$i][2] And $PosY > Round($Objekt[$i][0]) + $Auto[3] - 7 And $PosY < Round($Objekt[$i][0]) + $Auto[3] + 7 Then
    _PunktSetzen()
    _PunkteSchreiben()
    $Geschwindigkeit = 2
    $Punktestand = 0
    _ObjektZufall()
    EndIf
    Next
    EndFunc ;==>_Kollision
    Func _PunkteZaehler()
    $Punktestand = $Punktestand + 1
    If $Geschwindigkeit <> 12 Then $Geschwindigkeit = $Geschwindigkeit + 0.002
    EndFunc ;==>_PunkteZaehler
    Func _PunkteLesen()
    For $i = 0 To 9
    $Punkte[$i] = IniRead("Punkte.ini", "Punkte", $i + 1, 0)
    Next
    EndFunc ;==>_PunkteLesen
    Func _PunkteSchreiben()
    For $i = 0 To 9
    IniWrite("Punkte.ini", "Punkte", $i + 1, $Punkte[$i])
    Next
    EndFunc ;==>_PunkteSchreiben
    Func _ZeigePunkte()
    $Status = 20
    For $i = 0 To 9
    $Status = $Status + 20
    _QuickDraw_Text(540, $Status, $i + 1 & " : " & $Punkte[$i], 20, $Schrift, $Draw_Fill, 0xFFFFFFFF)
    Next
    EndFunc ;==>_ZeigePunkte
    Func _ObjektZufall()
    $Zaehler = 6
    For $i = 0 To UBound($Objekt) - 1
    $Objekt[$i][0] = Random(0 - $Hoehe, -$Auto[3])
    $Objekt[$i][2] = $Zaehler
    $Objekt[$i][3] = $Textur[Round(Random(0, UBound($Textur) - 1))]
    $Objekt[$i][4] = Random(0, 2)
    $Zaehler = $Zaehler + 50
    Next
    EndFunc ;==>_ObjektZufall
    Func _PunktSetzen()
    $Status = True
    For $i = 0 To 9
    If $Status <> False Then
    If $Punktestand > $Punkte[$i] Then
    $Status = 9
    Do
    $Punkte[$Status] = $Punkte[$Status - 1]
    $Status = $Status - 1
    Until $Status = $i
    $Punkte[$i] = $Punktestand
    $Status = False
    EndIf
    EndIf
    Next
    EndFunc ;==>_PunktSetzen

    [/autoit]
    Script v1.2
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=Autobahn.ico
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <QuickDraw.au3>
    If Not FileExists("Auto1.png") Then FileInstall("Auto1.png", "Auto1.png")
    If Not FileExists("Auto2.png") Then FileInstall("Auto2.png", "Auto2.png")
    If Not FileExists("Auto3.png") Then FileInstall("Auto3.png", "Auto3.png")
    If Not FileExists("Auto4.png") Then FileInstall("Auto4.png", "Auto4.png")
    If Not FileExists("Auto5.png") Then FileInstall("Auto5.png", "Auto5.png")
    If Not FileExists("Tachometer.png") Then FileInstall("Tachometer.png", "Tachometer.png")
    If Not FileExists("QuickDraw.dll") Then FileInstall("QuickDraw.dll", "QuickDraw.dll")
    If Not FileExists("FreeImage.dll") Then FileInstall("FreeImage.dll", "FreeImage.dll")
    If Not FileExists("Punkte.ini") Then FileInstall("Punkte.ini", "Punkte.ini")
    If Not FileExists("Autobahn.au3") Then FileInstall("Autobahn.au3", "Autobahn.au3")
    If Not FileExists("QuickDraw.au3") Then FileInstall("QuickDraw.au3", "QuickDraw.au3")
    If Not FileExists("Autobahn.ico") Then FileInstall("Autobahn.ico", "Autobahn.ico")
    Global $Titel = "Autobahn"
    Global $Breite = 700
    Global $Hoehe = 660
    Global $Punktestand = 0
    Global $Geschwindigkeit = 2
    Global $Zaehler = 6
    _QuickDraw_Enable($Titel, $Breite, $Hoehe, 0, 0, False)
    Dim $Auto[4]
    $Auto[0] = 6
    $Auto[1] = 510
    $Auto[2] = 39
    $Auto[3] = 70
    Dim $Objekt[10][5]
    Dim $Linien[6]
    Dim $Punkte[10]
    Dim $Textur[5]
    $Textur[0] = _QuickDraw_LoadTexture("Auto1.png")
    $Textur[1] = _QuickDraw_LoadTexture("Auto2.png")
    $Textur[2] = _QuickDraw_LoadTexture("Auto3.png")
    $Textur[3] = _QuickDraw_LoadTexture("Auto4.png")
    $Textur[4] = _QuickDraw_LoadTexture("Auto5.png")
    Global $Tachometer = _QuickDraw_LoadTexture("Tachometer.png")
    Global $Schrift = _QuickDraw_CreateFont("Courier New")
    WinMove($Titel, "", @DesktopWidth / 2 - $Breite / 2, @DesktopHeight / 2 - $Hoehe / 2)
    _Spiel()
    Func _Spiel()
    _PunkteLesen()
    HotKeySet("{RIGHT}", "_Rechts")
    HotKeySet("{LEFT}", "_Links")
    _ObjektZufall()
    $Positon = 0
    For $i = 0 To UBound($Linien) - 1
    $Linien[$i] = $Positon
    $Positon = $Positon + 120
    Next
    While ( _QuickDraw_Running() And (GUIGetMsg() <> -16))
    _QuickDraw_ClearBuffer(0xFF000000)
    AdlibRegister("_PunkteZaehler", 10)
    For $i = 0 To UBound($Objekt) - 1
    $Objekt[$i][0] = $Objekt[$i][0] + $Geschwindigkeit - $Objekt[$i][4]
    If $Objekt[$i][0] >= $Hoehe Then
    $Objekt[$i][0] = Random(0 - $Hoehe, -$Auto[3])
    $Objekt[$i][4] = Round(Random(0, 2))
    $Objekt[$i][3] = $Textur[Round(Random(0, UBound($Textur) - 1))]
    EndIf
    $Objekt[$i][1] = _QuickDraw_Rect($Objekt[$i][2], $Objekt[$i][0], $Auto[2], $Auto[3], $Objekt[$i][3], 0xFFFFFFFF)
    Next
    _QuickDraw_Rect($Auto[0], $Auto[1], $Auto[2], $Auto[3], $Textur, 0xFFFF0000)
    _Kollision($Auto[0], $Auto[1])
    For $i = 0 To UBound($Linien) - 1
    $Linien[$i] = $Linien[$i] + Round($Geschwindigkeit) + 1
    If $Linien[$i] >= $Hoehe Then $Linien[$i] = -60
    For $i2 = 1 To 10
    _QuickDraw_Rect($i2 * 50, $Linien[$i], 1, 60, $Draw_Fill, 0xFF999999)
    Next
    Next
    _QuickDraw_Text(1, 20, $Punktestand, 28, $Schrift, $Draw_Fill, 0xFFFFFFFF)
    _QuickDraw_Rect($Breite - 185, $Hoehe - 185, 175, 175, $Tachometer, 0xFFFFFFFF)
    _QuickDraw_RotateNext($Breite - 97, $Hoehe - 97, $Geschwindigkeit * 22)
    _QuickDraw_Line($Breite - 97, $Hoehe - 97, 539, 620, 0xFF0000FF)
    _ZeigePunkte()
    _QuickDraw_SwapBuffers()
    WEnd
    For $i = 0 To UBound($Textur) - 1
    _QuickDraw_FreeTexture($Textur[$i])
    Next
    _QuickDraw_FreeTexture($Tachometer)
    _QuickDraw_FreeFont($Schrift)
    _QuickDraw_Disable()
    EndFunc ;==>_Spiel
    Func _Rechts()
    $Status = True
    For $i = 0 To UBound($Objekt) - 1
    If $Auto[1] > Round($Objekt[$i][0]) - $Auto[3] And $Auto[1] < Round($Objekt[$i][0]) + $Auto[3] + 10 And $Auto[0] + 50 = $Objekt[$i][2] Then $Status = False
    Next
    If $Status = True Then
    If $Auto[0] <= $Breite - $Auto[3] - 200 Then
    $Auto[0] = $Auto[0] + 50
    EndIf
    EndIf
    EndFunc ;==>_Rechts
    Func _Links()
    $Status = True
    For $i = 0 To UBound($Objekt) - 1
    If $Auto[1] > Round($Objekt[$i][0]) - $Auto[3] And $Auto[1] < Round($Objekt[$i][0]) + $Auto[3] + 10 And $Auto[0] - 50 = $Objekt[$i][2] Then $Status = False
    Next
    If $Status = True Then
    If $Auto[0] <> 0 + 6 Then
    $Auto[0] = $Auto[0] - 50
    EndIf
    EndIf
    EndFunc ;==>_Links
    Func _Kollision($PosX, $PosY)
    For $i = 0 To UBound($Objekt) - 1
    If $PosX = $Objekt[$i][2] And $PosY > Round($Objekt[$i][0]) + $Auto[3] - 7 And $PosY < Round($Objekt[$i][0]) + $Auto[3] + 7 Then
    _PunktSetzen()
    _PunkteSchreiben()
    $Geschwindigkeit = 2
    $Punktestand = 0
    $Positon = 0
    For $i = 0 To UBound($Linien) - 1
    $Linien[$i] = $Positon
    $Positon = $Positon + 120
    Next
    _ObjektZufall()
    EndIf
    Next
    EndFunc ;==>_Kollision
    Func _PunkteZaehler()
    $Punktestand = $Punktestand + 1
    If $Geschwindigkeit <> 12 Then $Geschwindigkeit = $Geschwindigkeit + 0.002
    EndFunc ;==>_PunkteZaehler
    Func _PunkteLesen()
    For $i = 0 To 9
    $Punkte[$i] = IniRead("Punkte.ini", "Punkte", $i + 1, 0)
    Next
    EndFunc ;==>_PunkteLesen
    Func _PunkteSchreiben()
    For $i = 0 To 9
    IniWrite("Punkte.ini", "Punkte", $i + 1, $Punkte[$i])
    Next
    EndFunc ;==>_PunkteSchreiben
    Func _ZeigePunkte()
    $Status = 20
    For $i = 0 To 9
    $Status = $Status + 20
    _QuickDraw_Text(540, $Status, $i + 1 & " : " & $Punkte[$i], 20, $Schrift, $Draw_Fill, 0xFFFFFFFF)
    Next
    EndFunc ;==>_ZeigePunkte
    Func _ObjektZufall()
    $Zaehler = 6
    For $i = 0 To UBound($Objekt) - 1
    $Objekt[$i][0] = Random(0 - $Hoehe, -$Auto[3])
    $Objekt[$i][2] = $Zaehler
    $Objekt[$i][3] = $Textur[Round(Random(0, UBound($Textur) - 1))]
    $Objekt[$i][4] = Random(0, 2)
    $Zaehler = $Zaehler + 50
    Next
    EndFunc ;==>_ObjektZufall
    Func _PunktSetzen()
    $Status = True
    For $i = 0 To 9
    If $Status <> False Then
    If $Punktestand > $Punkte[$i] Then
    $Status = 9
    Do
    $Punkte[$Status] = $Punkte[$Status - 1]
    $Status = $Status - 1
    Until $Status = $i
    $Punkte[$i] = $Punktestand
    $Status = False
    EndIf
    EndIf
    Next
    EndFunc ;==>_PunktSetzen

    [/autoit]

    4 Mal editiert, zuletzt von gem (14. September 2011 um 16:46)

  • Den Sourcecode auch in die Rar!
    Ansosnten: den Übergang der Strecken könnte langsam gehen, langsames rüberscheiben des Autos.
    Außerdem kann man mit anderen Autos überlappen, wenn man neben einem Auto ist und das zur Hälfte hinter dem eigenen Auto ist, dann kann man schon auf das Auto fahren, ohne zurückzufallen.
    Als Anregung noch: Die Autos könnten utnerschiedliche Geschwindigkeit haben, die Straße könnte sich mehr bewegen, das eigene Auto steht fast und die anderen fahren Rückwärts :D

    Ansonsten ist das schon mal ganz gut :)


    @Frage eine Linie zeichnen mit folgenden Punkten: Mittelpunkt und
    P(X|Y)
    X=Cos(($kmh/240*360+90)*(Acos(-1)/180))*$radius
    Y=Sin(($kmh/240*360+90)*(Acos(-1)/180))*$radius

    $kmh ist deine Geschwindigkeit, 90 wegen der Sinusfunktionen (90 Grad ist unten), /240*360, weil Kmh 240 einmal rum sind, Winkel aber 360. und Acos(-1)/180 ist Pi_Div_180, damit werden die Winkel umgerechnet. Autoits Sin verwendet RAD soweit ich weiß.

    Wenn die Km/h nicht 220 überschreiten, sollte die Geschwindigkeit dann angezeigt werden.


    Gegenfrage: Woher hast du die Autos?

  • Ruckelt aber ganz schön... das sieht nicht schön aus ^^
    Ansonsten, die Idee ist nicht schlecht, wenn auch nicht neu. Ich würde noch einiges dran ändern evtl. eine Lebensanzeige und ein Crash einbauen, da man ja nicht einfach über die anderen Autos drüberfahren kann.

    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

  • Windows 7 home Premium 64 Bit.

    Ich meine nicht das es die ganze Zeit ruckelt aber das es nicht sehr einheitlich erscheint (Die Bewegungen etc)

    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

  • Also bei mir (Win7 Home Premium) läuft es prima! Sehr gelungen, dein Spiel :thumbup: !!! Einzig und allein der Tacho aktualiesiert sch nicht und zeigt bei mir immer rund 87 km/h an (siehe auch angehängtes Bild).

  • Ganz nett... könnte man noch ein wenig "Ruckelfreier" machen..

    Vorschlag.. du könntest machen, dass die entgegenkommenden Autos verschidene Geschwindigkeiten haben..

    MFG Schnacko

  • zu den anmerkungen

    sachen die sich bis jetzt geändert haben
    -andere autos fahren verschieden schnell
    -man denkt nicht mehr das die anderen autos rückwärts fahren :)
    -das abbiegen auf ein auto funktioniert nicht mehr
    -script und quickdraw.au3 wird angehangen
    -tacho funktioniert dank TheShadowAE

    werde wenn ich das highscore system eingebaut habe hochladen

  • habe nun eine neue version leider funktioniert das highscore system noch nicht werde es wahrscheinlich morgen besser machen


    TheShadowAE

    als ich mir nochmal die funktionien von quickdraw angeguckt habe, fand ich die funktion _QuickDraw_RotateNext() die habe ich jetzt für den tacho benutzt da sie ein bißchen lecihter ist trozdem danke für deinen vorschlag

    Cheater Dieter

    das freut mich
    vieleicht gefällt ihm die neue version besser:)

  • ich habe in der version 1.1 noch ein bug endeckt die straßen verschieben sich nach einiger zeit

    die verison 1.2 sollte eigentlich ohne bugs laufen

    -spiel hat nun ein icon
    -straßenlinie verschiebt sich nicht

  • Läuft prima! Mein Bruder findet die neue Version noch berrser als die alte (ich auch). :thumbup:
    Du könntest aber dem Auto noch Beschleunigung geben, d.h. das Auto braucht länger, um von 10 auf 20 km/h zu beschleunigen, als von 120 auf 130 km/m.