AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wände mit Array erstellen?

Ein Thema von Jole · begonnen am 1. Sep 2009 · letzter Beitrag vom 1. Sep 2009
Antwort Antwort
Jole

Registriert seit: 20. Aug 2009
Ort: Olpe
2 Beiträge
 
#1

Wände mit Array erstellen?

  Alt 1. Sep 2009, 11:52
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
  Mit Zitat antworten Zitat
Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Wände mit Array erstellen?

  Alt 1. Sep 2009, 12:12
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:

map : array[0..10] of array[0..10] of boolean; Vielleicht hilft dir das ja schonmal etwas weiter.

mfG
Patti
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  Mit Zitat antworten Zitat
Benutzerbild von XXcD
XXcD

Registriert seit: 19. Sep 2006
581 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Wände mit Array erstellen?

  Alt 1. Sep 2009, 12:14
Das kannst du ungefähr so machen:
Delphi-Quellcode:
type
wand = record
Texture: irgendwas;
X: integer;
Y: integer;
end;

...
var
waende: array of wand;
Ist jetzt nur ein Beispiel versuch mal nach array of zu suchen.
Vielleicht verstehst du ja was ich geschrieben habe, wenn nicht einfach schreiben dann erkläre ich das nochmal.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#4

Re: Wände mit Array erstellen?

  Alt 1. Sep 2009, 12:26
ich würde einfach eine Map/Array über alles anlegen
Delphi-Quellcode:
type
  TMapTyp = (mtLeer, mtMauer, mtBaum, ...);
  TMap = Array[0..x, 0..y] of TMapTyp;
dann kann man einfach und schnell nachsehn, was auf der entsprechenden Position rumliegt
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von XXcD
XXcD

Registriert seit: 19. Sep 2006
581 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Wände mit Array erstellen?

  Alt 1. Sep 2009, 12:29
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.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#6

Re: Wände mit Array erstellen?

  Alt 1. Sep 2009, 12:43
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.

Gut, bei seinem kleinem Spielfeld ist das Durchsuchen aller gepseicherten Felder/Mauerstückchen wohl nicht unbedingt zeitaufwendig.

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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von XXcD
XXcD

Registriert seit: 19. Sep 2006
581 Beiträge
 
Delphi 2007 Professional
 
#7

Re: Wände mit Array erstellen?

  Alt 1. Sep 2009, 12:45
Ja stimmt also er hat die Qual der Wahl
  Mit Zitat antworten Zitat
Jole

Registriert seit: 20. Aug 2009
Ort: Olpe
2 Beiträge
 
#8

Re: Wände mit Array erstellen?

  Alt 1. Sep 2009, 13:13
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.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz