1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. gem

Beiträge von gem

  • StringWidth

    • gem
    • 10. November 2011 um 23:22

    danke

  • StringWidth

    • gem
    • 10. November 2011 um 23:04

    wie bekomme ich eine Textbreite mit beliebiger schrift und Schriftgröße in Pixel

    mit

    [autoit]

    _GUICtrlListView_GetStringWidth()

    [/autoit]

    habe ich es nicht hinbekommen

    bräuchte dies für GDI+

  • GDI+ Editor

    • gem
    • 10. November 2011 um 17:52

    ich habe mal versucht ein GDI+ Editor zu schreiben

    Version 2

    [Blockierte Grafik: http://img846.imageshack.us/img846/5754/picof.png]

    was immer noch nicht funktioniert
    - drawstringex
    - farbverlauf

    konsolenbefehle (einfach befehl eingeben und enter drücken) z.B. savetofile=test.jpg

    title : ändert title
    width : ändert breite
    height : ändert höhe
    color : ändert hintergrundfarbe
    graphics : zeigt die grafik array
    savetofile : speichert bitmap zu einer datei
    run : startet programm
    save : speichern
    saveas : speichern unter
    copy : speichert quelltext in zwischenspeicher
    exit : schließt das programm
    new : neu
    open : öffnen


    während ihr zeichnet könnt ihr mit tastenbefehlen etwas ändern achtet daraufr das ihr die linke maustaste gedrückt haltet

    RECHTS = Startwinkel += 1
    LINKS = Startwinkel -=1
    UNTEN = Pfeilung -=1
    OBEN = Pfeilung+=1
    STRG = Objekte werden quadratisch wenn möglich
    BILD AUF = Striftbreite +=1
    BILD RUNTER = Striftbreite -=1

    Dateien

    GDI Editor.zip 116,32 kB – 510 Downloads
  • Die Siedler von Catan - GDI+ Frage

    • gem
    • 6. November 2011 um 19:20

    klar

  • Die Siedler von Catan - GDI+ Frage

    • gem
    • 6. November 2011 um 19:04

    ich habe auch mal versucht das zu machen allerdings mit quickdraw ist sehr viel leichter als gdi+
    du kannst dir das ja einfach mal angucken
    DOWNLOAD
    //mit linksklick wählst du ein objekt aus mit rechtsklick baust du dieses
    //mit gedrückter linker taste werden alle möglichen felder angezeigt

    zu deinen fragen

    speicher alle möglichen baupositionen in einer array und gucke dann ob diese schon besetzt ist oder nciht wenn nicht erstelle dort ein bild

    arbeite mit _IsPressed

  • Textstellen im Edit farblich hervorheben

    • gem
    • 5. Oktober 2011 um 18:45

    ich denke die leichteste methode wäre es mir richedit zu machen lies dir mal die funktionen in der hilfe durch

    http://translation.autoit.de/render/render.…RichEdit_Create

  • MatheProgramm

    • gem
    • 19. September 2011 um 21:56

    respekt sieht wirklich gut aus

  • was ist schneller?

    • gem
    • 18. September 2011 um 16:52

    guten tag

    da ich viele sachen berechnen will wollte ich fragen was schneller beim berechnen ist, oder ob es gleich schnell ist, oder gibt es eine besser art?

    [autoit]

    1.
    Func _Test($Test)
    If $Test = 1 Then
    For $i = 0 To 10000
    If ... = ... Then Return True
    Next
    ElseIf $Test = 2 Then
    For $i = 0 To 10000
    If ... = ... Then Return True
    Next
    EndIf
    EndFunc
    2.
    Func _Test($Test)
    For $i = 0 To 10000
    If $Test = 1 Then
    If ... = ... Then Return True
    ElseIf $Test = 2 Then
    If ... = ... Then Return True
    EndIf
    Next
    EndFunc

    [/autoit]
  • Snake [QuickDraw]

    • gem
    • 14. September 2011 um 19:56

    [Blockierte Grafik: http://www8.pic-upload.de/14.09.11/wzwbwcha5zxg.png]
    DOWNLOAD v1.0

    Beschreibung

    ich weiß das schon fast jeder hier im forum snake gemacht hat nun wollte ich es jetzt auch einmal machen ich glaube erklären brauche ich das spiel nicht

    Script v1.0
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=Snake.ico
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <QuickDraw.au3>
    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("Snake.au3") Then FileInstall("Snake.au3", "Snake.au3")
    If Not FileExists("QuickDraw.au3") Then FileInstall("QuickDraw.au3", "QuickDraw.au3")
    If Not FileExists("Snake.ico") Then FileInstall("Snake.ico", "Snake.ico")
    Dim $Schlange[1][2]
    Dim $Punkt[1][2]
    Dim $Status[4][3]
    Dim $Punkte[10]
    Global $Titel = "Snake"
    Global $Breite = 800
    Global $Hoehe = 800
    Global $Richtung = "Rechts"
    Global $Laenge = 2
    Global $Schleife = 0
    _QuickDraw_Enable($Titel, $Breite, $Hoehe, 0, 0, False)
    _QuickDraw_SetLineWidth(2)
    Global $Schrift = _QuickDraw_CreateFont("Courier New")
    WinMove($Titel, "", @DesktopWidth / 2 - $Breite / 2, @DesktopHeight / 2 - $Hoehe / 2)
    _Spiel()
    Func _Spiel()
    $Status[0][0] = +40
    $Status[0][1] = 0
    $Status[0][2] = "Links"
    $Status[1][0] = -40
    $Status[1][1] = 0
    $Status[1][2] = "Rechts"
    $Status[2][0] = 0
    $Status[2][1] = -40
    $Status[2][2] = "Unten"
    $Status[3][0] = 0
    $Status[3][1] = +40
    $Status[3][2] = "Oben"
    $Schlange[0][0] = 0
    $Schlange[0][1] = 0
    _PunktZufall()
    HotKeySet("{RIGHT}", "_Rechts")
    HotKeySet("{LEFT}", "_Links")
    HotKeySet("{UP}", "_Oben")
    HotKeySet("{DOWN}", "_Unten")
    HotKeySet("{n}", "_Neustart")
    While ( _QuickDraw_Running() And (GUIGetMsg() <> -16))
    _QuickDraw_ClearBuffer(0xFFFFFFFF)
    _Hintergrund()
    _Kollision()
    _Richtung()
    _PunktSammeln()
    _ZeigeLaenge()
    _QuickDraw_Rect($Punkt[0][0], $Punkt[0][1], 40, 40, $Draw_Fill, 0xFF666666)
    For $i = 0 To UBound($Schlange) - 1
    _QuickDraw_Rect($Schlange[$i][0], $Schlange[$i][1], 40, 40, $Draw_Line, 0xFF666666)
    Next
    _QuickDraw_SwapBuffers()
    Sleep(100)
    WEnd
    _Ende()
    EndFunc ;==>_Spiel
    Func _Hintergrund()
    $Variable = 20
    For $i = 0 To 40
    _QuickDraw_Line($Variable, 0, $Variable, $Hoehe, 0xFFCCCCCC)
    $Variable = $Variable + 20
    Next
    $Variable = 20
    For $i = 0 To 40
    _QuickDraw_Line(0, $Variable, $Breite, $Variable, 0xFFCCCCCC)
    $Variable = $Variable + 20
    Next
    EndFunc ;==>_Hintergrund
    Func _Richtung()
    If $Richtung = "Rechts" Then $Schlange[0][0] = $Schlange[0][0] + 40
    If $Richtung = "Links" Then $Schlange[0][0] = $Schlange[0][0] - 40
    If $Richtung = "Oben" Then $Schlange[0][1] = $Schlange[0][1] - 40
    If $Richtung = "Unten" Then $Schlange[0][1] = $Schlange[0][1] + 40
    If $Schlange[0][0] = -40 Then $Schlange[0][0] = $Breite - 40
    If $Schlange[0][0] = $Breite Then $Schlange[0][0] = 0
    If $Schlange[0][1] = -40 Then $Schlange[0][1] = $Hoehe - 40
    If $Schlange[0][1] = $Hoehe Then $Schlange[0][1] = 0
    $i = UBound($Schlange)
    If $i <> 1 Then
    Do
    $i = $i - 1
    $Schlange[$i][0] = $Schlange[$i - 1][0]
    $Schlange[$i][1] = $Schlange[$i - 1][1]
    Until $i = 1
    EndIf
    EndFunc ;==>_Richtung
    Func _Kollision()
    For $i = 0 To UBound($Status) - 1
    For $i2 = 1 To UBound($Schlange) - 1
    If $Richtung = $Status[$i][2] Then
    If $Schlange[0][0] = $Schlange[$i2][0] + $Status[$i][0] And $Schlange[0][1] = $Schlange[$i2][1] + $Status[$i][1] Then
    $Schleife = 0
    _Verloren()
    EndIf
    EndIf
    Next
    Next
    EndFunc ;==>_Kollision
    Func _PunktSammeln()
    If $Schlange[0][0] = $Punkt[0][0] And $Schlange[0][1] = $Punkt[0][1] Then
    $Laenge = $Laenge + 1
    ReDim $Schlange[$Laenge][2]
    $Schlange[$Laenge - 1][0] = $Punkt[0][0]
    $Schlange[$Laenge - 1][1] = $Punkt[0][1]
    _PunktZufall()
    EndIf
    EndFunc ;==>_PunktSammeln
    Func _ZeigeLaenge()
    _QuickDraw_Text(3, 15, $Laenge * 10 - 20, 22, $Schrift, $Draw_Fill, 0xFF666666)
    EndFunc ;==>_ZeigeLaenge
    Func _PunktZufall()
    $Punkt[0][0] = Round(Random(0, 19)) * 40
    $Punkt[0][1] = Round(Random(0, 19)) * 40
    For $i = 0 To UBound($Schlange) - 1
    If $Punkt[0][0] = $Schlange[$i][0] And $Punkt[0][1] = $Schlange[$i][1] Then _PunktZufall()
    Next
    EndFunc ;==>_PunktZufall
    Func _Verloren()
    _PunkteLesen()
    _PunktSetzen()
    _PunkteSchreiben()
    If $Schleife <> 1 Then
    Do
    If Not _QuickDraw_Running() And GUIGetMsg() <> -16 Then _Ende()
    _QuickDraw_ClearBuffer(0xFFFFFFFF)
    _Hintergrund()
    _QuickDraw_Text($Breite / 2 - 80, 200, "Verloren", 40, $Schrift, $Draw_Fill, 0xFF666666)
    _QuickDraw_Text(3, 15, "'n' drücken zum Neustarten", 22, $Schrift, $Draw_Fill, 0xFF666666)
    _ZeigePunkte()
    _QuickDraw_SwapBuffers()
    Until $Schleife = 1
    EndIf
    $Richtung = "Rechts"
    $Laenge = 2
    Dim $Schlange[1][2]
    $Schlange[0][0] = 0
    $Schlange[0][1] = 0
    _PunktZufall()
    EndFunc ;==>_Verloren
    Func _Rechts()
    If $Richtung <> "Links" Or $Laenge = 2 Then $Richtung = "Rechts"
    EndFunc ;==>_Rechts
    Func _Links()
    If $Richtung <> "Rechts" Or $Laenge = 2 Then $Richtung = "Links"
    EndFunc ;==>_Links
    Func _Oben()
    If $Richtung <> "Unten" Or $Laenge = 2 Then $Richtung = "Oben"
    EndFunc ;==>_Oben
    Func _Unten()
    If $Richtung <> "Oben" Or $Laenge = 2 Then $Richtung = "Unten"
    EndFunc ;==>_Unten
    Func _ZeigePunkte()
    $Variable = 217
    For $i = 0 To 9
    $Variable = $Variable + 40
    _QuickDraw_Text($Breite / 2 - 40, $Variable, $i + 1 & " : " & $Punkte[$i], 25, $Schrift, $Draw_Fill, 0xFF666666)
    Next
    EndFunc ;==>_ZeigePunkte
    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 _PunktSetzen()
    $Variable = True
    For $i = 0 To 9
    If $Variable <> False Then
    If $Laenge * 10 - 20 > $Punkte[$i] Then
    $PunktStatus = 9
    Do
    $Punkte[$PunktStatus] = $Punkte[$PunktStatus - 1]
    $PunktStatus = $PunktStatus - 1
    Until $PunktStatus = $i
    $Punkte[$i] = $Laenge * 10 - 20
    $Variable = False
    EndIf
    EndIf
    Next
    EndFunc ;==>_PunktSetzen
    Func _Ende()
    _QuickDraw_FreeFont($Schrift)
    _QuickDraw_Disable()
    Exit
    EndFunc ;==>_Ende
    Func _Neustart()
    $Schleife = 1
    _Verloren()
    EndFunc ;==>_Neustart

    [/autoit]
  • Autobahn [QuickDraw]

    • gem
    • 14. September 2011 um 16:48

    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

  • Autobahn [QuickDraw]

    • gem
    • 14. September 2011 um 00:51

    so die version 1.1 sollte ohne probleme laufen

    wenn ihr ein bug, problem oder verbessungsvorschläge habt bitte posten

  • Autobahn [QuickDraw]

    • gem
    • 13. September 2011 um 21:18

    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:)

  • Autobahn [QuickDraw]

    • gem
    • 13. September 2011 um 19:26

    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

  • Autobahn [QuickDraw]

    • gem
    • 13. September 2011 um 13:29

    @TheShadowAE
    danke für die vorschläge und die antwort au meine frage hat sehr geholfen
    BadBunny
    komisch das es bei dir ruckelt bei mir ruckelt es nicht was hast du für ein pc und was für ein betriebsystem?

  • Autobahn [QuickDraw]

    • gem
    • 12. September 2011 um 23:22

    [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]
  • 2d Texturen erstellen,herunterladen

    • gem
    • 31. August 2011 um 15:14

    danke die seiten sind wirklich gut

    so will ich es ca. machen nur das die palmen eine textur und das haus auch und der rasen auch etc.

    [Blockierte Grafik: http://www.meggieshomepage.de/media/DIR_106813/DIR_204726/Lodge%2420Draufsicht.JPG]

    aber wie kann man das selber den machen
    ich wüsste garnicht wie ich bei paint anfangen sollte

  • mehrere Label/Buttons etc bekommen alle die gleiche Schriftart?

    • gem
    • 31. August 2011 um 15:09

    ist keine wirkliche lösung aber du könntest die controls in eine array schrieiben und dann alle controls in einer ForNext schelife mit eine schrifft belegen

    [autoit]

    Dim $Control[3]
    $Control[0] = GUICtrlCreateLabel("Test 1:", 55, 168, 55, 20)
    $Control[1] = GUICtrlCreateLabel("Test 2:", 55, 192, 55, 20)
    $Control[2] = GUICtrlCreateLabel("Test 3:", 55, 216, 55, 20)
    For $i = 0 To UBound($Control)-1
    GUICtrlSetFont($Control[$i], 8, 800, 0, "MS Sans Serif")
    Next

    [/autoit]
  • 2d Texturen erstellen,herunterladen

    • gem
    • 31. August 2011 um 14:40

    guten tag

    ich suche ein programm um 2d texturen aus der vogelpersopektive zu erstellen z.b.eine straße von oben,ein haus, ein baum etc.

    oder kennt ihr eine gute seite wo man diese downloaden kann?

    danke

  • reicht GDI+ für Strategiespiel?

    • gem
    • 28. August 2011 um 19:46

    habe mal eine Frage reicht GDI+ für ein Strategiespiel so wie age of empire oder muss ich dafür eine engine nehmen.

  • Wettbewerb: Textverarbeitungsprogramm coden

    • gem
    • 27. August 2011 um 17:15

    danke für die kritik
    @manuel6000
    klar darfst du

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™