• Ich habe heute kurz mal ein Spiel zusammen gezimmert, welches ich dann aber gut genug fand, dass ich es mal hier rein stellen wollte.
    Es geht bei diesem Spiel nur darum Punkte zu bekommen, d.h. du kannst nicht sterben oder so.


    So jetzt näheres zu meinem Spiel:
    Man fliegt im Weltall und muss Gegner abschießen, welche von vorne auf ein zufliegen. Die Gegner sind unterschiedlich groß und unterschiedlich schnell, aber sie sehen alle gleich aus und haben ansonsten die gleichen Eigenschaften. Man hat zwei Waffen zur Verfügung, nämlich die Laserkanone und die Anti-Materie-Kanone.
    Die Laserkanone zerstört gezielt das nächste Raumschiff vor einem, während die Anti-Materie-Kanone einfach alles zerstört.


    Anzeigen:
    Die grünen Kästen oben links zeigen die Lebensenergie an. Immer wenn ein UFO gegen einen prallt, verliert man einen Lebenspunkt. Wenn sie alle sind, verwackelt das Bild etwas und man verliert Punkte, die Lebenspunkte werden danach wieder auf drei gesetzt.

    Die blaue Anzeige rechts daneben zeigt dir an, wie lange es noch dauert bis du die Anti-Materie-Kanone benützen kannst

    Die roten Kästchen rechts daneben stellen die Energie dar, die für den Laser gebraucht wird. Wenn man schießt verbraucht sich ein Kästchen. Diese Kästchen laden sich langsam wieder auf (je höher das Level desto schneller), aber nur bis zehn Schüsse.

    Noch weiter rechts befindet sich die lila Entfernungsanzeige, welche dir zeigt wie lange es noch bis zum nächsten Level dauert.

    Ganz oben rechts hast du noch eine kleine Karte die Gegner (rot) und dich(blau) anzeigt.


    Steuerung:
    {up} = bewegt dich nach oben
    {down} = bewegt dich nach unten
    {left} = bewegt dich nach links
    {right} = bewegt dich nach rechts
    {Space} = benützt die Laserkanone
    {CTRL} = benützt die Anti-Materie-Kanone
    {P} = Pausiert das Spiel
    {Esc} = Beendet das Spiel


    Punkte Verteilung:
    Es gibt verschiedene Sachen, die bewertet werden:
    Zerstörte Gegner =

    Punkte für jeden mit Laser zerstörten Gegner, wobei die kleineren am meisten Punkte bringen.

    Überlebende Gegner =

    Jeder durchkommende Gegner zieht 20 Punkte ab
    Beschädigung =

    Punkte werden permanent verteilt, je nach dem wie viel Schaden du hast
    Antimaterie =

    Für die Benutzung der Anti-Materie-Kanone werden dir 200 Punkte abgezogen, du erhältst aber auch Punkte für jeden zerstörten Gegner (lohnt sich erst in späteren Levels)

    Sicheres Fliegen =

    Hier wird bewertet, ob du dich defensiv nach hinten verkriechst (negativ) oder ob du dich offensiv nach vorne traust (positiv)

    Lvl Bonus=

    Hier stehen deine Punkte, die du für jedes abgeschlossene Level bekommst


    Spoiler anzeigen
    [autoit]


    #include<Misc.au3>
    #include<GDIPlus.au3>
    $Punkte_anzeigen = true
    HotKeySet("{esc}","End")
    Dim $Attribute[5] = [9.9,0,3,50,90] ; HP SP ZT XPos YPos
    Dim $Punkte[6] = [0,0,0,0,0,0] ; Abgeschossen Durchkommer Hülle Spezial Flucht lvl
    Dim $Lvl = 1
    Dim $Wackeln = 0
    Dim $Schuss[4] = [0,0,0,0] ; X Y Breite Zeit
    Dim $Feuer = 0
    _GDIPlus_Startup()
    $hGUI = GUICreate("Sehr kleines Minispiel",500,200)
    $hGrafik = _GDIPlus_GraphicsCreateFromHWND($hGUI)
    $hBitmap = _GDIPlus_BitmapCreateFromGraphics(500,200,$hGrafik)
    $Context = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    $PBlau = _GDIPlus_PenCreate(0xFF0000FF)
    $BBlau = _GDIPlus_BrushCreateSolid(0xFF0000FF)
    $PGruen = _GDIPlus_PenCreate(0xFF00FF55)
    $BGruen = _GDIPlus_BrushCreateSolid(0xFF00FF55)
    $BRot = _GDIPlus_BrushCreateSolid(0xFFFF1133)
    $PGelb = _GDIPlus_PenCreate(0xFFFFFF00)
    $BLila = _GDIPlus_BrushCreateSolid(0xFFFF00FF)
    $PLila = _GDIPlus_PenCreate(0xFFFF00FF)
    $PLaser = _GDIPlus_PenCreate(0xFFFF0077)
    $BWeis = _GDIPlus_BrushCreateSolid(0xFFFFFFFF)

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

    $hFormat = _GDIPlus_StringFormatCreate()
    $hFamily = _GDIPlus_FontFamilyCreate("Arial")
    $hFont = _GDIPlus_FontCreate($hFamily, 12)
    $tRect = _GDIPlus_RectFCreate(20, 170, 0, 0)
    $aInfo = _GDIPlus_GraphicsMeasureString($hGrafik, "Punkte: ", $hFont, $tRect, $hFormat)

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

    $label = GUICtrlCreateLabel("",0,0,500,200)
    GUICtrlSetBkColor($Label,0x000000)
    GUICtrlSetColor($Label,0xFFFFFF)
    GUISetState(1,$hGUI)
    $stext = "Weltraumpilot gesucht"&@cr&@cr&"Benötigt wird nur:"&@cr&"Raumflugkenntnisse"&@cr&@cr&"Bei Interesse bitte melden."
    For $i = 1 to StringLen($stext) - 1
    $Timer = TimerInit()
    GUICtrlSetData($label,Stringleft($stext,$i)&"|")
    sleep (50-Timerdiff($Timer))
    If _IsPressed(1) Then exitloop
    next
    GUICtrlSetData($label,$stext)
    While _IsPressed("0D") = 0
    WEnd
    $stext = "Sehr schön, dass Sie sich für diesen Job entschieden haben."&@cr&"Ihre Aufgabe besteht darin, den Erkundungsflug in Richtung Mars zu leiten."&@cr&"Dies ist nicht weiter schwierig, Sie müssen nur verhindern, dass die Erkundungsflotte beschädigt wird."&@cr&"Leider haben wir in der letzten Zeit einige Probleme mit UFOs gehabt, deswegen wird Ihr Schiff mit zwei Waffen ausgestattet sein:"&@cr&@cr&"Laserkanone:"&@cr&"Dies ist eine schnelle Waffe, die nur wenig Ladezeit benötigt. Sie kann auf Space aktiviert werden."&@cr&"Die Einheiten der Lasermunition werden oben als rote Rechtecke dargestellt."&@cr&@cr&"Die Anti-Materie-Kanone:"&@cr&"Die Durchschlagskraft ist 100mal höher als die von Fusionswaffen. Diese Waffe zerstört alle feindlichen Raumschiffe. Sie wird auf Strg aktiviert."&@cr&"Die Waffe muss lange aufgeladen werden. Wie weit sie ist sieht du am blauen Balken oben."
    For $i = 1 to StringLen($stext) - 1
    $Timer = TimerInit()
    GUICtrlSetData($label,Stringleft($stext,$i)&"|")
    sleep (50-Timerdiff($Timer))
    If _IsPressed(1) Then exitloop
    next
    GUICtrlSetData($label,$stext)
    While _IsPressed("0D") = 0
    WEnd
    GUICtrlSetData($label,"")
    For $lvl = 1 to 10 step + 1
    Dim $Gegner[$lvl][4]; X Y Größe Speed
    For $i = 0 to $lvl-1
    $Gegner[$i][2] = Random(20,50,1)
    $Gegner[$i][0] = Random(500,501 + $lvl * 100,1)
    $Gegner[$i][1] = Random(0,200 -$Gegner[$i][2],1)
    $Gegner[$i][3] = Random(200,201+100*$lvl,1) / 100
    next
    For $i = -50 to $Attribute[3]
    $i += 5
    $Timer = TimerInit()
    _GDIPlus_GraphicsDrawPolygon($Context,Raumschiff($i,$Attribute[4],50,20),$PBlau)
    _GDIPlus_GraphicsDrawImage($hGrafik,$hBitmap,0,0)
    _GDIPlus_GraphicsClear($Context,0xFF000000)
    sleep (50-Timerdiff($Timer))
    next

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

    For $Weite = 0 to $lvl * 15 + 50 step + 0.1
    $Timer = TimerInit()
    _GDIPlus_GraphicsClear($Context,0xFF000000)
    _GDIPlus_GraphicsDrawPolygon($Context,Raumschiff($Attribute[3],$Attribute[4],50,20),$PBlau)
    For $i = 0 to Int($Attribute[0])
    _GDIPlus_GraphicsFillRect($Context,5 + 5 * $i,2,3,5,$BGruen)
    next

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

    _GDIPlus_GraphicsdrawRect($Context,70,2,50,5,$PBlau)
    _GDIPlus_GraphicsfillRect($Context,70,2,$Attribute[1] / 2,5,$BBlau)

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

    _GDIPlus_GraphicsdrawRect($Context,200,2,100,5,$PLila)
    _GDIPlus_GraphicsfillRect($Context,200,2,$Weite/($lvl * 15 + 50) * 100,5,$BLila)
    For $i = 1 to Int($Attribute[2])
    _GDIPlus_GraphicsFillRect($Context,130 + 5 * $i,2,3,5,$BRot)
    next
    _GDIPlus_GraphicsdrawRect($Context,350,2,100,20,$PGruen)
    If $Attribute[3] > -40 and $Attribute[3] < 490 and $Attribute[4] >-10 and $Attribute[4] < 190 Then _GDIPlus_GraphicsfillPie($Context,350+$Attribute[3]/10,2+$Attribute[4]/10,5,5,0,360,$BBlau)
    For $i = 0 to $lvl-1
    $Gegner[$i][0] -= $Gegner[$i][3]
    _GDIPlus_GraphicsDrawPolygon($Context,Gegner($Gegner[$i][0],$Gegner[$i][1],$Gegner[$i][2],$Gegner[$i][2]),$PGelb)
    If $Gegner[$i][0]< 900 and $Gegner[$i][0]> 0 Then _GDIPlus_GraphicsfillPie($Context,350+$Gegner[$i][0]/10,2+$Gegner[$i][1]/10,2,2,0,360,$BRot)
    If $Gegner[$i][0] < -50 Then
    $Gegner[$i][2] = Random(20,50,1)
    $Gegner[$i][0] = Random(500,501 + $lvl * 100,1)
    $Gegner[$i][1] = Random(0,200 -$Gegner[$i][2],1)
    $Gegner[$i][3] = Random(200,201+100*$lvl,1) / 100
    $Punkte[1] -= 20
    EndIf
    If $Gegner[$i][0] -50 < $Attribute[3] and $Gegner[$i][0] +$Gegner[$i][2] > $Attribute[3] and $Gegner[$i][1] -20 < $Attribute[4] and $Gegner[$i][1] +$Gegner[$i][2] > $Attribute[4] Then
    $Gegner[$i][2] = Random(20,50,1)
    $Gegner[$i][0] = Random(500,501 + $lvl * 100,1)
    $Gegner[$i][1] = Random(0,200 -$Gegner[$i][2],1)
    $Gegner[$i][3] = Random(200,201+100*$lvl,1) / 100
    $Attribute[0] -=1
    $Wackeln += 5
    EndIf
    next
    If _IsPressed(74) Then $Punkte_anzeigen = true
    If _IsPressed(75) Then $Punkte_anzeigen = false
    If _IsPressed(26) Then $Attribute[4] -=5
    If _IsPressed(28) Then $Attribute[4] +=5

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

    If _IsPressed(25) Then $Attribute[3] -=5
    If _IsPressed(27) Then $Attribute[3] +=5
    If _IsPressed(11) and $Attribute[1] >= 100 Then
    $Attribute[1] = 0
    $Punkte[3] -= 200
    $Schuss[0] = $Attribute[3] + 50
    $Schuss[1] = $Attribute[4] + 19-100
    $Schuss[2] = 200
    $Schuss[3] = 2
    $Wackeln += 20
    For $i = 0 to $lvl -1
    $Punkte[3] += 100 - $Gegner[$i][2]
    $Gegner[$i][2] = Random(20,50,1)
    $Gegner[$i][0] = Random(500,501 + $lvl * 100,1)
    $Gegner[$i][1] = Random(0,200 -$Gegner[$i][2],1)
    $Gegner[$i][3] = Random(200,201+100*$lvl,1) / 100
    next

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

    EndIf
    If $Punkte_anzeigen = True Then _GDIPlus_GraphicsDrawStringEx($Context,"Punkte:"&Round($Punkte[0]+$Punkte[1]+$Punkte[2]+$Punkte[3]+$Punkte[4]+$Punkte[5]),$hFont,$tRect,$hFormat,$BWeis)
    If _IsPressed(20) Then
    IF $Feuer = 0 Then
    If $Attribute[2] >= 1 Then
    $Feuer = 1
    $Attribute[2] -= 1
    Dim $YPos[2] = [500,-1]
    For $i = 0 to $lvl-1
    If $Gegner[$i][1] -20 < $Attribute[4] and $Gegner[$i][1] +$Gegner[$i][2] > $Attribute[4] and $Gegner[$i][0] > $Attribute[3] and $YPos[0] >$Gegner[$i][0] Then
    $YPos[0] = $Gegner[$i][0]
    $YPos[1] = $i
    EndIf
    next
    If $YPos[1] > -1 Then
    $Schuss[0] = $Gegner[$YPos[1]][0]
    $Schuss[1] = $Gegner[$YPos[1]][1]
    $Schuss[2] = $Gegner[$YPos[1]][2]
    $Schuss[3] = 1
    $Punkte[0] += 100 - $Gegner[$YPos[1]][2]
    $Gegner[$YPos[1]][2] = Random(20,50,1)
    $Gegner[$YPos[1]][0] = Random(500,501 + $lvl * 100,1)
    $Gegner[$YPos[1]][1] = Random(0,200 -$Gegner[$YPos[1]][2],1)
    $Gegner[$YPos[1]][3] = Random(200,201+100*$lvl,1) / 100
    $Wackeln += 5
    _GDIPlus_GraphicsDrawLine($Context,$Attribute[3]+50,$Attribute[4]+19,$Schuss[0],$Attribute[4]+19,$PLaser)
    Else
    _GDIPlus_GraphicsDrawLine($Context,$Attribute[3]+50,$Attribute[4]+19,500,$Attribute[4]+19,$PLaser)
    EndIf
    EndIf
    EndIf
    Else
    $Feuer = 0
    EndIf
    If $Schuss[0] <> 0 Then
    _GDIPlus_GraphicsfillPolygon($Context,Schuss($Schuss[0],$Schuss[1] + $Schuss[2]/2 *(1-$Schuss[3]),$Schuss[2] * 2,$Schuss[2] * $Schuss[3]),$BRot)
    $Schuss[3] -= 0.1
    If $Schuss[3] < 0 Then $Schuss[0] = 0
    EndIf
    If $Attribute[3] < -50 or $Attribute[3] > 500 or $Attribute[4] <-20 or $Attribute[4] > 200 Then
    $Attribute[0] -= 0.05
    _GDIPlus_GraphicsDrawLine($Context,$Attribute[3],$Attribute[4],250,100,$PGruen)
    _GDIPlus_GraphicsDrawLine($Context,$Attribute[3] + 50,$Attribute[4],250,100,$PGruen)
    _GDIPlus_GraphicsDrawLine($Context,$Attribute[3] + 50,$Attribute[4]+20,250,100,$PGruen)
    _GDIPlus_GraphicsDrawLine($Context,$Attribute[3],$Attribute[4]+20,250,100,$PGruen)
    EndIf
    If $Attribute[2] < 10 Then $Attribute[2] += 0.02 * $lvl
    If $Attribute[1] < 100 Then $Attribute[1] += 0.05
    $Wackeln *= 0.9
    $Punkte[2] +=(-5 + $Attribute[0]) / 10
    $Punkte[4] +=(-225 + $Attribute[3]) / 400
    If $Attribute[0] < 0 Then
    $Attribute[0] -= 0.5
    $Wackeln += 1
    If $Attribute[0] < -40 Then $Attribute[0] = 2.9
    EndIf
    _GDIPlus_GraphicsDrawImage($hGrafik,$hBitmap,Random(-$Wackeln,$Wackeln),Random(-$Wackeln,$Wackeln))
    sleep (50 -Timerdiff($Timer))
    If _IsPressed(50) or Not WinActive($hGUI) Then
    While _IsPressed(50)
    Wend
    While _IsPressed(50) = 0 or WinActive($hGUI) = 0
    sleep(50)
    Wend
    While _IsPressed(50)
    Wend
    EndIf
    next
    If $Attribute[0] < 0 Then $Attribute[0] = 2.9

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

    For $i = 0 to 1000
    $i += 5
    $Timer = TimerInit()
    _GDIPlus_GraphicsDrawPolygon($Context,Raumschiff($i+$Attribute[3],$Attribute[4],50,20),$PBlau)
    For $i2 = 0 to 4
    _GDIPlus_GraphicsDrawPolygon($Context,Raumschiff($i-100*$i2-100,25 +$i2*30,50,20),$PLila)
    next
    _GDIPlus_GraphicsDrawImage($hGrafik,$hBitmap,0,0)
    _GDIPlus_GraphicsClear($Context,0xFF000000)
    sleep (50-Timerdiff($Timer))
    next
    $Attribute[2] = 3
    $Attribute[3] = 50
    $Attribute[4] = 90
    $Punkte[5] += 500 *$lvl
    $sText = "Level "&$lvl&" erfolgreich"&@cr&@cr&@cr&"Punkte:"&@cr&@cr&"Zerstörte Gegner: "&Round($Punkte[0])&@cr&"Überlebende Gegner: "&Round($Punkte[1])&@cr&"Beschädigung: "&Round($Punkte[2])&@cr&"Antimaterie: "&Round($Punkte[3])&@cr&"Sicheres Fliegen: "&Round($Punkte[4])&@cr&"Lvl Bonus: "&Round($Punkte[5])&@cr&@cr&"Gesamt: "&Round($Punkte[0]+$Punkte[1]+$Punkte[2]+$Punkte[3]+$Punkte[4]+$Punkte[5])
    For $i = 0 to Stringlen($sText)
    $Timer = TimerInit()
    GUICtrlSetData($label,Stringleft($stext,$i)&"|")
    sleep (50-Timerdiff($Timer))
    If _IsPressed(1) Then exitloop
    next
    GUICtrlSetData($label,$stext)
    While _IsPressed("0D") = 0
    WEnd
    next
    $sText = "Alle Level erfolgreich"&@cr&@cr&@cr&"Punkte:"&Round($Punkte[0]+$Punkte[1]+$Punkte[2]+$Punkte[3]+$Punkte[4]+$Punkte[5])&@cr&@cr&"Bis zum nächsten mal."
    For $i = 0 to Stringlen($sText)
    $Timer = TimerInit()
    GUICtrlSetData($label,Stringleft($stext,$i)&"|")
    sleep (50-Timerdiff($Timer))
    If _IsPressed(1) Then exitloop
    next
    GUICtrlSetData($label,$stext)
    While _IsPressed("0D") = 0
    WEnd
    Func Raumschiff($x,$y,$breite,$hohe)
    Dim $Raumschiff[4][2]
    $Raumschiff[0][0] = 3
    ;------------------------Punkt 1----------------
    $Raumschiff[1][0] = $x
    $Raumschiff[1][1] = $y
    ;------------------------Punkt 2----------------
    $Raumschiff[2][0] = $x + $breite
    $Raumschiff[2][1] = $y + $hohe
    ;------------------------Punkt 3----------------
    $Raumschiff[3][0] = $x
    $Raumschiff[3][1] = $y + $hohe
    Return $Raumschiff
    EndFunc

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

    Func Gegner($x,$y,$breite,$hohe)
    Dim $Raumschiff[13][2]
    $Raumschiff[0][0] = 12
    ;------------------------Punkt 1----------------
    $Raumschiff[1][0] = $x
    $Raumschiff[1][1] = $y
    ;------------------------Punkt 2----------------
    $Raumschiff[2][0] = $x + $breite * 0.4
    $Raumschiff[2][1] = $y
    ;------------------------Punkt 3----------------
    $Raumschiff[3][0] = $x + $breite * 0.7
    $Raumschiff[3][1] = $y + $hohe * 0.1
    ;------------------------Punkt 4----------------
    $Raumschiff[4][0] = $x + $breite
    $Raumschiff[4][1] = $y + $hohe * 0.4
    ;------------------------Punkt 5----------------
    $Raumschiff[5][0] = $x + $breite
    $Raumschiff[5][1] = $y + $hohe * 0.6
    ;------------------------Punkt 6----------------
    $Raumschiff[6][0] = $x + $breite * 0.7
    $Raumschiff[6][1] = $y + $hohe * 0.9
    ;------------------------Punkt 7----------------
    $Raumschiff[7][0] = $x + $breite * 0.4
    $Raumschiff[7][1] = $y + $hohe
    ;------------------------Punkt 8----------------
    $Raumschiff[8][0] = $x
    $Raumschiff[8][1] = $y + $hohe
    ;------------------------Punkt 9----------------
    $Raumschiff[9][0] = $x
    $Raumschiff[9][1] = $y + $hohe * 0.7
    ;------------------------Punkt 10----------------
    $Raumschiff[10][0] = $x + $Breite * 0.5
    $Raumschiff[10][1] = $y + $hohe * 0.7
    ;------------------------Punkt 11----------------
    $Raumschiff[11][0] = $x + $Breite * 0.5
    $Raumschiff[11][1] = $y + $hohe * 0.3
    ;------------------------Punkt 12----------------
    $Raumschiff[12][0] = $x
    $Raumschiff[12][1] = $y + $hohe * 0.3
    Return $Raumschiff
    EndFunc

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

    Func Schuss($x,$y,$breite,$hohe)
    Dim $Raumschiff[13][2]
    $Raumschiff[0][0] = 12
    ;------------------------Punkt 1----------------
    $Raumschiff[1][0] = $x
    $Raumschiff[1][1] = $y + $hohe * 0.5
    ;------------------------Punkt 2----------------
    $Raumschiff[2][0] = $x + $Breite
    $Raumschiff[2][1] = $y
    ;------------------------Punkt 3----------------
    $Raumschiff[3][0] = $x + $Breite * 0.9
    $Raumschiff[3][1] = $y + $hohe * 0.1
    ;------------------------Punkt 4----------------
    $Raumschiff[4][0] = $x + $Breite
    $Raumschiff[4][1] = $y + $hohe * 0.2
    ;------------------------Punkt 5----------------
    $Raumschiff[5][0] = $x + $Breite * 0.9
    $Raumschiff[5][1] = $y + $hohe * 0.3
    ;------------------------Punkt 6----------------
    $Raumschiff[6][0] = $x + $Breite
    $Raumschiff[6][1] = $y + $hohe * 0.4
    ;------------------------Punkt 7----------------
    $Raumschiff[7][0] = $x + $Breite * 0.9
    $Raumschiff[7][1] = $y + $hohe * 0.5
    ;------------------------Punkt 8----------------
    $Raumschiff[8][0] = $x + $Breite
    $Raumschiff[8][1] = $y + $hohe * 0.6
    ;------------------------Punkt 9----------------
    $Raumschiff[9][0] = $x + $Breite * 0.9
    $Raumschiff[9][1] = $y + $hohe * 0.7
    ;------------------------Punkt 10----------------
    $Raumschiff[10][0] = $x + $Breite
    $Raumschiff[10][1] = $y + $hohe * 0.8
    ;------------------------Punkt 11----------------
    $Raumschiff[11][0] = $x + $Breite * 0.9
    $Raumschiff[11][1] = $y + $hohe * 0.9
    ;------------------------Punkt 12----------------
    $Raumschiff[12][0] = $x + $Breite
    $Raumschiff[12][1] = $y + $hohe
    Return $Raumschiff
    EndFunc
    Func End()
    exit
    EndFunc

    [/autoit]


    Es gibt 10 Levels. Dies kann aber im Code geändert werden, vorausgesetzt ihr findet die richtige Stelle.
    Viel Spaß :D

    3 Mal editiert, zuletzt von Zeitriss (14. Juni 2010 um 17:48)

  • schöne Sache nur beim beenden noch die ressourcen wieder frei geben :thumbup:

    Das finden von Rechtschreibfehlern muss sofort und unverzüglich dem Autor gemeldet werden. Das eigennützige Verwenden dieser Rechtschreibfehler ist strengstens untersagt und kann mit Freiheitsenzug bestraft werden.

  • Gefällt mir sehr gut!

    Weiter so! Bin gespannt, wie es sein wird, wenn es fertig ist!

    Gruß,
    UEZ

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

  • Ich bin echt beeindruckt!!

    Das sieht mal richtig gut aus, mit dem 'Treffer-Wackelern' es Ruckelt auch garnicht bei mir (echte Leistung von dir), und diese Mini-Karte finde ich auch Genial!!!

    OK, Grüsse und weiter so!

  • Sehr gut geworden. Und die ruckel-Effeckte sind wirklich sehr gelungen.

    Aber

    -Das Spiel sollte Anhalten wenn das GUI nicht im Fokus ist.
    Dazu kann man das verwenden

    Spoiler anzeigen
    [autoit]


    GUIRegisterMsg($WM_ACTIVATEAPP, "_MY_WM_ACTIVATEAPP")

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

    Func _MY_WM_ACTIVATEAPP($hWnd, $uMsg, $wParam, $lParam)
    Switch $wParam
    Case True
    MsgBox(0, 0, "Gewonnen")
    Case Else

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

    MsgBox(0, 0, "Verlohren")
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>_MY_WM_ACTIVATEAPP

    [/autoit]


    -Dann sollte der Punktestand im Spiel angezeigt werden
    -Und die Bewegungsgeschwindigkeit könnte noch ein wenig angezogen werden

  • Sprenger120

    Die Punkte zahl im Spiel habe ich eingefügt. Da ich _GDIPlus_GraphicsDrawStringEx noch nie benützt hatte ich mich da noch nicht ran getraut(Hoffe ich hab alles richtig gemacht).
    Die Punktzahl lässt sich auf F6 ausblenden und auf F5 wieder einschalten.

    Das Spiel Pausiert sich jetzt wenn es nicht im Vordergrund ist(P drücken zum weiter Spielen).

    Die Geschwindigkeit finde ich eigentlich so wie die ist ganz Okay.

    Des weiteren habe ich jetzt eingebaut, dass wenn man das Spielfeld verlässt, einem angezeigt wird wo man sich befindet.

  • Zitat

    Hmm.... merkwürdig, eigentlich kann man nicht verlieren. Wie hast du es geschafft nicht weiter zu kommen ?(

    oder hab ich da einen fehler eingebaut 8|

    Unmöglich ich habs problemlos durchspielen können ;) , echt nett gemacht du wirst auch immer besser was spiele angeht ;)

    MfG Hellboy

    MfG hellboy

    [autoit]

    Do
    _help($user)
    Until $questions = 0

    [/autoit]

    Meine Werke:
    Ste`s Web-Radio