Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Programmieren eines Spiels in Delphi7 (https://www.delphipraxis.net/106761-programmieren-eines-spiels-delphi7.html)

Maik.mark 16. Jan 2008 10:10


Programmieren eines Spiels in Delphi7
 
Hey Leute,
brauche dringend Hilfe

Ich programmiere noch net lange mit Delphi, habe aber jetzt die Aufgabe bekommen, ein Spiel zu programmieren, das Problem ist, ich habe so gut wie keine Ahnung wie ich das anstellen soll! :wall:

Die Idee ist ein 2D Spiel bei dem man durch ein labyrinth laufen soll,
dabei Gegnern ausweichen, und zur Not angreifen soll.
Bis auf das Menü, den Hintergrund und Figuren habe ich noch nichts ...

Bitte sagt mir doch mal wie ich die Figuren zum laufen bringe, bzw. wie ich die Gegner Intelligent mache ...

Ich danke im Vorraus für die Hilfe!

mimi 16. Jan 2008 10:57

Re: Programmieren eines Spiels in Delphi7
 
oh das ist genau mein Thema *G*

Für sowas habe ich mir eine eigene 2D Engine geschrieben die Folgendes Tut:
Ein Spiel besteht aus Objekten, ein Objekt ist bei mir ein Sprite.

Jeder Sprite gehört einem SpriteManger an und dieser gehört eine Engine an.

Kennst du dich mit Canvas aus ?
Für so ein spiel würde sich das anbieten, aber du kannst auch DelphiX für den anfangen nehmen...

Wenn du noch nicht so lange bei Delphi bist, währe DelphiX glaube ich am besten, wenn du das nehmen darfst, wenn nicht, musst du Canvas nehmen.

Stichpunkte währen:
BitBlt, CopyRec, Draw, TBitMap.
Damit arbeitet meine Engine.

Im Grunde macht sie nix anders als:
Zuerst wird geschaut, ist schon überhaupt was gesichert wurden ? Wenn ja wieder herstellen.
Dan den Bereich wo die Grafik hin soll in einem Backup Buffer zu sichern.
Dann die eigentliche Grafik Zeichnen.

Im Grunde war das schon alles, aber auf diese art und weise kommt es zu Grafik Fehlern, wenn sich mehrer "Sprite" überlappen, also löse ich bevor ich das neue Bild zeichne ein Event aus was die Engine Auffängt. und ein Rect enthält, die Engine geht jetzt ihre SpriteManger liste durch und veranlässt das alle Sprite neu gezeichnet werden, aber nur wenn sie in diesem Rect passen.

Es werden also nur bereiche neu gezeichnet. Und nicht den Ganzen Bildschrim,

Das Verwende ich bei meinem Pacman Clone an.

Wenn es dir nix ausmacht, deinen Prosssor zu Qulläen, könntest du das Bild auch Ständig neu aufbauen, das Frist aber Geschwindigkeit.

Meine Engine ist jetzt auch für Lazarus geschrieben, sollte aber auch unter Delphi laufen, aber es dürfte nicht so einfach sein, sie einzubinden, ohne Veränderungen, Gerade wegen der eigenen ImageList.

Ich würde dir raten, wenn du es nehmen darfst DelphiX zu nehmen, Das ist zwar veraltet aber es geht leicht, oder die Engine von Igel die soll auch leicht sein.... Aber für "Einsteiger" weis ich es nicht genau.
Aber ein Spandest Thema ist das im Grafik Bereich. Die Kollisions Funktion wird das Problem sein.

Maik.mark 16. Jan 2008 15:36

Re: Programmieren eines Spiels in Delphi7
 
Leider kann ich nur auf Canvas zugreifen ...
da ich des Programm in der Schule programmieren muss,

Wie gesagt kenn ich mit mit Grafiken in Delphi noch gar nicht aus,
so das ich weder Quellcode noch irgend etwas für hab,
könnte mir jmd mal ein Beispiel für geben,

wie zum Beispiel den Code von Snake oder Pacman?
Das würde mir helfen um es etwas besser zu verstehen!

Also wie gesagt kann ich nur auf Canvas zugreifen, nicht DelphiX (wurde schon versucht)
als weitere Bitte: hat jmd Bücher die helfen würden, wenn ja bitte mal ISBN-Nummern geben

Thx im Vorraus

DeddyH 16. Jan 2008 15:49

Re: Programmieren eines Spiels in Delphi7
 
3D-Programmierung mit Delphi für Kids

lbccaleb 16. Jan 2008 16:13

Re: Programmieren eines Spiels in Delphi7
 
wir kümmern uns hier im forum nicht um die hausaufgaben und schulaufgaben anderer, auch wirst du hier niemand finden der das für dich übernehmen wird, einen kleinen tip möchte ich ich dir aber denn noch geben, verwende doch mal google mit den stichwörtern "delphi" "spiel" "source" "quellcode" und ich denke mal das du dort fündig wirst..

mimi 16. Jan 2008 16:22

Re: Programmieren eines Spiels in Delphi7
 
ich denke mit dem Code wirst du wenig anfangen können, wenn es für die schule sein soll, musst du ihn ja auch erklären können oder ?

Ich kann dir aber ein Vorschlag für ein Pacman machen:

Du hast ein 2D Array(map2:array[0...mapW,0..Maph] of TMapItem)
mapW und MapH musst du noch berechnen, das hängt davon ab wie groß deine Grafiken sind.

Nehmen wir an deine Grafiken sind 20X20 groß und deine Spiel Fläche 640 X 480
MapW 640 div 20
MapH 480 div 20

ich hoffe du weist wie ich das meine....
MapW und MapH müssen als Konstanten Defniert werden.

TMapItem ist z.b. eine Klasse die du so defnieren könntest:

TMapItem = class
name:String;
typ:Integer
Image:TBitMap
end;

Ich hoffe du weisst was eine Klasse ist und wie man damit umgehen wenn nicht, sagt dir recrod etwas ?

Hier findest du sehr viele Tutorials gerade für Einsteiger:
http://www.delphi-treff.de/tutorials...ls/katalog/31/

Weitere Stichpunkte währen für dich:
OOP
2D Map, Array
Record
Informiere dich doch mal. Delphi hat eine Tolle Hilfe die du mit F1 erreichen kannst...

lbccaleb 16. Jan 2008 16:34

Re: Programmieren eines Spiels in Delphi7
 
Zitat:

Zitat von mimi
Informiere dich doch mal. Delphi hat eine Tolle Hilfe die du mit F1 erreichen kannst...

hat nicht nur eine tolle hilfe, es ist auch ein tolles programm!! :lol: :lol: :lol: :lol:

Larsi 16. Jan 2008 16:51

Re: Programmieren eines Spiels in Delphi7
 
Herzlich Willkommen ind der DP :dp:


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:49 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz