DGL
https://delphigl.com/forum/

[Spiel] Evasion
https://delphigl.com/forum/viewtopic.php?f=13&t=11224
Seite 1 von 1

Autor:  sharkman [ So Aug 17, 2014 10:23 ]
Betreff des Beitrags:  [Spiel] Evasion

In dem Spiel geht es im Prinzip darum, allem auszuweichen, was kommt.
Das sieht etwa so aus:
Bild
Dateianhang:
evasion1.png [4.72 KiB]
Noch nie heruntergeladen

Die Dunkelgrüne Kugel wird mit der Maus gesteuert, wenn sie eine der roten Kugeln berührt, endet das Spiel. Wenn der Spieler lange genug durchhält, kommt das nächste Level.
Das Spiel wird durch einen Doppelklick auf die Spielfläche (PaintBox) gestartet. Auch nach dem Verlieren wieder.
Feinde gibt es auch in anderen Farben, dann mit anderen Eigenschaften:
rot: fliegt geradeaus.
hellgrün: prallt von Wänden (=dem Rand des Spielfelds) ab. Verringert dabei seine größe bzw verschwindet, wenn es zu klein wird.
hellblau: prallt von Wänden ab. Zielt dabei auf den Spieler. Ansonsten genauso.
gelb: zerspringt zu mehreren Roten, wenn es das Spielfeld verlässt (je größer es war, desto mehr).
blau: Verfolgt den Spieler, indem es die Bewegungsrichtung langsam dreht (dreht umso schneller, je größer es ist).
violett: “verfolgt” den Spieler, indem es in seine Richtung beschleunigt.
grau: bewegt sich auf und ab, hin und her oder in Kreisen.

außerdem können Feinde nicht nur auf den Spieler zielen oder in zufällige Richtungen starten, sondern auch Formationen bilden:
Bild
Dateianhang:
evasion2.png [10.31 KiB]
Noch nie heruntergeladen

Bossgegner gibt es auch:
Bild
Dateianhang:
evasion3.png [3.25 KiB]
Noch nie heruntergeladen

auch hier gilt, dass der Spieler “nur” ausweichen muss. Der Boss zerstört sich nach einer Weile selbst.

Zur Umsetzung gibt es nicht allzu viel zu sagen. Ich zeichne das Zeug auf ein TBitMap und kopiere es dann in ein TPaintBox (damit es nicht flackert, wenn viel gezeichnet wird). Ansonsten habe ich nicht darauf geachtet, irgendwas “sauber” zu machen, sondern bloß, es zum funktionieren zu bringen.
Auf langsameren Computern werden vermutlich manche levels eine Weile hängen bleiben (nämlich die, wo ich das ganze level am Anfang erzeuge und nicht nach und nach werden immer dann hängen bleiben, wenn viele Feinde gleichzeitig sterben (=das Spielfeld verlassen). Das liegt daran, dass alle Feinde in einem Array sind, und wenn welche sterben, müssen alle rechts davon um eins verschoben werden (für jeden der stirbt)). Zumindest ist das meine Erklärung dafür, dass es auf langsameren Computern manchmal kurz hängenbleibt (und zwar in genau diesen levels). Bewiesen habe ich es nicht.
edit: Die Erklärung ist falsch. Was heißt, ich habe keine Ahnung, warum es auf manchen Computern nicht richtig läuft.
edit2: Das Zeichnen ist vermutlich das, was zu langsam ist.
Ansonsten ist mir noch bekannt, dass es möglich ist “außenrum” zu gehen. Dabei wird die Maus aus dem Bild bewegt (die Spielfigur bleibt dabei wo sie ist), und dann anderswo wieder ins Bild (die Spielfigur springt auf die neue Position). Das kommt daher, dass ich das OnMouseMove Event benutze und darin die Spielerposition auf die Mausposition setze. In Levels, bei denen es stören würde, gibt es allerdings einen Workaround: Am Rand des Spielfelds sitzen überall Feinde, die ein Verlassen des Spielfelds unmöglich machen.
Downloads:Nur das Programm. Sollte so funktionieren, wie es ist.
Dateianhang:
evasion.zip [242.88 KiB]
227-mal heruntergeladen


achso, code gibt es auch:
Dateianhang:
Unit1.pas [104.6 KiB]
232-mal heruntergeladen


Da mir die Ideen für weitere Levels ausgegangen sind, bitte ich darum, sollte jemandem etwas einfallen, dies zu schreiben.

Autor:  sharkman [ Do Sep 11, 2014 14:39 ]
Betreff des Beitrags:  Re: [Spiel] Evasion

Die Fehler sollten jetzt behoben sein. Jede (Maus-)Bewegung von mehr als 2 pixel wird unterteilt, sodass es nicht mehr möglich ist durch schnelles Bewegen der Maus durch die Gefahren hindurchzugehen. Außerdem ist es somit nicht mehr möglich “außenrum” zu gehen, da das ebenfalls nur eine plötzliche weite Bewegung darstellte.

Zusätzlich gibt’s ein paar neue Levels. (erhältlich im ersten post)

Als Download gibt's nur noch die Version ohne Musik. Ich hatte zuerst “mit” musik noch gelassen (Musik musste seperat runtergeladen und reinkopiert werden), weil doch überraschend viele es runtergeladen hatten, bis mir aufgefallen ist, dass es an einem Missverständnis lag. Da stand “sollte so funktionieren, wie es ist” zwischen den Downloads. Ich bezog es auf das obere (ohne Musik), aber jetzt, wo ich es nach einer Weile nochmal angeschaut habe, ist mir aufgefallen, dass jeder Andere es zwangsläufig auf das Untere (Mit Musik) beziehen musste, so wie es dastand.

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/