Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mo Jul 22, 2019 10:38

Foren-Übersicht » Sonstiges » Projekte
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: [Spiel] Evasion
BeitragVerfasst: So Aug 17, 2014 10:23 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 11, 2009 08:02
Beiträge: 532
Programmiersprache: pascal (Delphi 7)
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.


Zuletzt geändert von sharkman am Do Sep 11, 2014 15:38, insgesamt 5-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [Spiel] Evasion
BeitragVerfasst: Do Sep 11, 2014 14:39 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 11, 2009 08:02
Beiträge: 532
Programmiersprache: pascal (Delphi 7)
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.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Foren-Übersicht » Sonstiges » Projekte


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.063s | 18 Queries | GZIP : On ]