![]() |
Wände mit Array erstellen?
Hallo an alle.
Ich bin neu hier im Forum und programmiere noch nicht lange. Dennoch versuche ich ein kleines Spiel zu erstellen. Es geht darum mit einem Panzer durch eine map ähnlich wie Pacman zu fahren. Dafür brauche ich Wände wo dieser Panzer nicht durchfahren kann. Ich hörte davon das man so etwas mit Array realisieren kann. Leider habe ich davon noch keine Ahnung. Könnte mir vielleicht jemand erklären wie so etwas funktioniert? Ich will keine fertige Vorlage. Nur eine gute, verständliche Erklärung wäre sehr hilfreich. Gruß Jole |
Re: Wände mit Array erstellen?
Da gibt es wohl verschiedene Möglichkeiten, wie man dieses "Problem" lösen könnte. Aber die Idee mit einem Array ist für den Anfang vielleicht gar nicht so schlecht. Mache dir ein (zwei-dimensionales) Array mit der Größe deiner Map. Das Array repräsentiert dir dann die verschiedenen Felder der Karte. Wenn du beispielweise nur wissen möchtest, ob auf einem bestimmten Feld eine Wand existiert, dann reicht der Boolean-Typ für dein Array völlig aus. So könnte es beispielsweise aussehen:
Delphi-Quellcode:
Vielleicht hilft dir das ja schonmal etwas weiter.
map : array[0..10] of array[0..10] of boolean;
mfG Patti |
Re: Wände mit Array erstellen?
Das kannst du ungefähr so machen:
Delphi-Quellcode:
Ist jetzt nur ein Beispiel versuch mal nach array of zu suchen.
type
wand = record Texture: irgendwas; X: integer; Y: integer; end; ... var waende: array of wand; Vielleicht verstehst du ja was ich geschrieben habe, wenn nicht einfach schreiben dann erkläre ich das nochmal. |
Re: Wände mit Array erstellen?
ich würde einfach eine Map/Array über alles anlegen
Delphi-Quellcode:
dann kann man einfach und schnell nachsehn, was auf der entsprechenden Position rumliegt :angel:
type
TMapTyp = (mtLeer, mtMauer, mtBaum, ...); TMap = Array[0..x, 0..y] of TMapTyp; |
Re: Wände mit Array erstellen?
Himitsu mit deiner Idee muss man das gesamte Spielfeld als Raster darstellen.
Wenn man jedoch eine Klasse erstellt mit den X und Y Koordinaten kann man das Spielfeld einfacher gestalten, da kann man dann beispielsweise noch die Variable Rotation mit reinbringen. |
Re: Wände mit Array erstellen?
Ich weiß, daß man da das gesamte Feld darstellt,
aber Ertens hat er eh nur ein winziges 2-Dimensionales Feld, welches nicht wirklich Speicher frißt und Zweitens muß man im Gegenzug bei dir erst alle Felder durchsuchen und schauen ob eines die gewünschten Koordinaten hat ... ist bei mir nur ein Aufruf, da man ja jedes Feld direkt ansprechen kann. :mrgreen: Gut, bei seinem kleinem Spielfeld ist das Durchsuchen aller gepseicherten Felder/Mauerstückchen wohl nicht unbedingt zeitaufwendig. :roll: Also im Endefekt hat Beides seine Vor- und Nachteile und demnach kann sich der TE ja entscheiden, was ihm in seiner Situation nun besser gefällt. |
Re: Wände mit Array erstellen?
Ja stimmt also er hat die Qual der Wahl :-D
|
Re: Wände mit Array erstellen?
Okay.
Erstmal vielen vielen Dank für die fixen Antworten. Ich werd mich mal darin einarbeiten und später berichten obs den gewünschten Erfolg gebracht hat. :dp: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:11 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