Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Spielfeld, aber wie? (https://www.delphipraxis.net/19353-spielfeld-aber-wie.html)

Dragon27 1. Apr 2004 16:34


Spielfeld, aber wie?
 
Hallo,

hab einfach mal ne Frage zur Programmierung:

Wie würdet Ihr ein Spielfeld programmieren, also dass man praktisch einfach die einzelnen Felder abfragen kann nach bestimmten sachen?

Danke für eure Ideen

himitsu 1. Apr 2004 16:49

Re: Spielfeld, aber wie?
 
Schau mal nach DelphiX, damit dürfte das angeblich ganz einfach gehn.

Ansonsten wäre es nicht schlecht, wenn du sagst was du mit dem Spielfeld machen willst, dann wäre es einfacher eine "gute" Antwort zu geben, denn je nach Verwendungszeckt bieten sich eine Dinge besser an, als Andere.

citybreaker 1. Apr 2004 16:51

Re: Spielfeld, aber wie?
 
Hab mal nen Tutorial als Pfd im Inet gesehen. Hab se auch irgendwo
aufm Pc suche mal grad und dann meld ich mich noch einmal.

Evian 1. Apr 2004 17:04

Re: Spielfeld, aber wie?
 
Was für ein Spiel soll es denn sein?! Schach oder ähnliches könntest Du mit nem Drawgrid machen!

citybreaker 1. Apr 2004 17:20

Re: Spielfeld, aber wie?
 
Mhm, also die Seite von dem Tutoial hab ich gefunden. http://www.ee-interactive.de/downloads.html
Alerdings bieten die das nicht mehr zum Download an, weil es veraltet ist
habs aber auch nicht mehr auf meiner Festplatte.

Dragon27 1. Apr 2004 19:04

Re: Spielfeld, aber wie?
 
hi,

ja ich meinte hald ein einfaches rastafeld so 14x14 oder so wo mann dann jedes feld abfragen kann bzw. wo man images usw. reinladen kann!

Jo was is ein Drawgrid?

Kann man des vielleicht auch mit Mehrdimensionale Arrays machen?


Danke

Evian 1. Apr 2004 19:15

Re: Spielfeld, aber wie?
 
Ja Du kannst Dir ein Drawgrid wie ein Mehrdimensionales Array vorstellen .. ist im Prinzip eine Tabelle, bei der Du in jede Zelle ein Bild "malen" kannst. Damitt kannst Du bei solchen "Brettspielen" sehr gut arbeiten. Hab nur leider mein Delphi nicht hier auf arbeit, kann dir also nicht sagen in welcher Kadegorie das Teil ist. Suchst Du einfach mal in der Hilfe nach Drawgrid!

himitsu 1. Apr 2004 19:56

Re: Spielfeld, aber wie?
 
Es liegt direkt neben dem Stringgrid unter Zusätzliches.

Also ich bin bis jetzt mit Image, 'nem BitMap + Form.Canvas, oder 'nem BitMap + PaintBox ganz gut hingekommen :roll:

gordon freeman 2. Apr 2004 11:04

Re: Spielfeld, aber wie?
 
Ich würde mich Himitsu anschließen.
Nimm einfach so viele Images, wie du brauchst. einzeln ansteuern kannst du sie ja über die OnClick-Prozeduren.

Dragon27 2. Apr 2004 12:15

Re: Spielfeld, aber wie?
 
hi,


also 100 images ansteuern mag ich jetzt net unbeding *g*

aber dieses Drawgrid wie funktioniert das ding?
Kann mir da einer etwas dazu sagen wie ich da ein Bild reinlade?


Danke

Nonsense 2. Apr 2004 12:35

Re: Spielfeld, aber wie?
 
Canvas heißt das Zauberwort. :roll:

himitsu 2. Apr 2004 13:30

Re: Spielfeld, aber wie?
 
Man kann ja auch mit einem Image ... arbeiten - in dem Schachthread hier irgendwo sind schon ein paar Beispiele enthalten.

XeRo 2. Apr 2004 13:54

Re: Spielfeld, aber wie?
 
Ich würde es mit einem Array[1..100] of TBitmap; machen, da es IMHO einfacher ist.

[edit]Du kannst dir mal ein ALTES spiel von mir anschauen, da hab ich nur mit arrays geproggt http://www.delphipraxis.net/internal...ct.php?t=12064 [/edit]

Nonsense 2. Apr 2004 14:04

Re: Spielfeld, aber wie?
 
Zitat:

Zitat von XeRo
Ich würde es mit einem Array[1..100] of TBitmap; machen, da es IMHO einfacher ist.

[edit]Du kannst dir mal ein ALTES spiel von mir anschauen, da hab ich nur mit arrays geproggt http://www.delphipraxis.net/internal...ct.php?t=12064 [/edit]

Hast wohl zu viel Speicher, was?
Habt ihr noch nie etwas von einem Double Buffer gehört? Warum macht ihr euch das Leben so schwer? :warn:

XeRo 2. Apr 2004 14:12

Re: Spielfeld, aber wie?
 
Zitat:

Zitat von Nonsense
Hast wohl zu viel Speicher, was?:

das nicht umbedingt, habs aber aus 2 gründen so gemacht:
1) war mein erstes spiel und war einfach leichter mit einem array...
2) Double Buffer hab ich damals wirklich noch nie gehört...

du hast recht, es ist sehr speicheraufwendig, aber einfacher.
jetzt würd ichs auch nicht mehr so machen... :wink:

himitsu 3. Apr 2004 18:16

Re: Spielfeld, aber wie?
 
Liste der Anhänge anzeigen (Anzahl: 1)
So, da ja viele/einige meine das die Image-Komponente so extrem langsam ist,
hab ich mal die berechneten/angezeigten Bilder gezählt, da ich ja eh 'ne Zeitabhängige Schleife verwende, war es ja nicht so schwer die Bilder pro Sekunde zu berechnen.

Also, es handelt sich um ein Image, eine ImageList und Image1.Canvas.Rectangle.
Es werden 96 Bilder aus der ImageList gezeichnet (ein Drittel davon transparent).
Und das Bild wird jedes mal komplett neu erstellt.

Selber arbeite ich mit 'ner kleine Blockade im Programm, um das Zeichnen und die CPU-Auslastung nicht ausarten zu lassen. (auf maximal 50 Bilder pro Sekunde ausgebremmst)

Ohne diese Bremse konnte ich auf meinem überlasten und steinalten Rechner schon über 220 Bilder/Sekunde (Durchschnitt 180) gemessen.

Einfach eines der Proggi-Versionen starten und auf "Brett drehen" klicken.

Unter Setup - Ansicht - Auf/Abbau könnte man notfalls die Messintervalle ändern (in Millisekunden)

Ach ja, nicht über das Rosa wundern - ist nur für mich (zur Markierung von wegen Umstellung deaktiviertem, oder noch nicht existierendem Zeug)



Ich kann mich ja auch täuchen, aber für ein Spiel dürften doch 25 - 50 Bilder/Sek. völlig ausreichen.

Und wenn ich die Zeichenprozedur noch ein bissl optimieren würde, dann dürfte bestimmt noch mehr rauszuholen sein, aber wozu noch. :roll:

XeRo 3. Apr 2004 18:35

Re: Spielfeld, aber wie?
 
das sieht ja echt toll aus...
Aber bekommen wir auch den source code?

devnull 3. Apr 2004 19:45

Re: Spielfeld, aber wie?
 
@himitsu: Sind die Bilder alle selber gezeichnet ?

himitsu 3. Apr 2004 21:14

Re: Spielfeld, aber wie?
 
Nicht alle. Ein Großteil ist "nur" überarbeitet.

Aber das hatte ich schon mal irgendwann gesagt ^^


Die Figuren haben sich über die Jahre angesammelt - bin ja mittlerweile bei Version 5.5.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:44 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