Delphi-PRAXiS
Seite 10 von 18   « Erste     8910 1112     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   [Game] 2.6D - Sandb(L)ox (https://www.delphipraxis.net/108153-%5Bgame%5D-2-6d-sandb-l-ox.html)

turboPASCAL 18. Feb 2008 16:05

Re: [Game] 2.6D - Sandb(L)ox
 
Könn't ich mal einen Screenshoot vom Progrämmchen bekommen, bitte-dankeschön?

Custom 18. Feb 2008 16:52

Re: [Game] 2.6D - Sandb(L)ox
 
Zitat:

Zitat von turboPASCAL
Könn't ich mal einen Screenshoot vom Progrämmchen bekommen, bitte-dankeschön?

GOTCHA!! ^^


also ich hab im moment keine zeit~erstmal hausaufgaben zu machen und dann das mit der liste ausprobieren... vielleicht ist jemand anderes gerade mal so nett?

Custom 18. Feb 2008 17:17

Re: [Game] 2.6D - Sandb(L)ox
 
Zitat:

Zitat von xZise
Zuerstmal hast du wohl eine "Feldklasse":
Delphi-Quellcode:
TBlock = class(TObject)
private
  FX, FY : Integer;
public
  property X : Integer read FX;
  property Y : Integer read FY;

  constructor Create(const AX, AY : Integer);
end;
Und entweder nimmst du einfach so eine Liste (Da das Object alles sein könnte, muss man sich sicher sein, was man da macht!):
Delphi-Quellcode:
FList : TObjectList;
[...]
FList := TObjectList.Create;
[...]
block := TBlock.Create([...]);
[...]
FList.Add(block);
[...]
Oder du erstellst dir selber eine Liste (aufwendiger ab im endeffekt Fehlersicherer):
Delphi-Quellcode:
TBlockList = class (TObject)
private
  FList : TObjectList;
  function GetBlock(AIndex : Integer) : TBlock;
  procedure SetBlock(AIndex : Integer; Value : TBlock);
public
  procedure Add(ABlock : TBlock);
  procedure Delete(ABlock : TBlock);

  property Bloecke[AIndex : Integer] : TBlock read GetBlock write SetBlock; default;

  constructor Create;
  destructor Destroy;
end;
Und fertig ;)

Naja jedenfalls die Definition der Klassen.
Diese kannst du genauso wie eine TObjectList-Liste verwenden.

MfG
xZise

PS: Das "default;" hinter der Property bedeutet, dass man die nicht aufrufen muss. Wenn du das bei TStrings machst, machst du ja meißt "MyTStrings[<Zeile>]" ;)

[Fehler] Unit1.pas(58): Undefinierter Bezeichner: 'TObjectList'
[Fehler] Unit1.pas(59): Undefinierter Bezeichner: 'TBlock'
[Warnung] Unit1.pas(68): Methode 'Destroy' verbirgt virtuelle Methode vom Basistyp 'TObject'
[Fataler Fehler] Unit1.pas(205): Verwendete Unit 'Physik.pas' kann nicht compiliert werden

olee 18. Feb 2008 17:23

Re: [Game] 2.6D - Sandb(L)ox
 
Du musst mindestens die Deklaration des TBlock VOR der Deklaration der Liste bringen, da diese das Objekt TBlock sonst nicht kennt!

Edit: Ach ja und du solltest kucken, ob für TObjectList nicht eine Unit eingebunden werden muss!

Custom 18. Feb 2008 17:29

Re: [Game] 2.6D - Sandb(L)ox
 
was ist mit object list? scheint es auch nicht zu geben...

Namenloser 18. Feb 2008 17:31

Re: [Game] 2.6D - Sandb(L)ox
 
TObjectlist ist in der Unit contnrs deklariert.
Sieht übrigens sehr interessant aus, was du da machst! (mehr kann ich dazu jetzt noch nicht sagen :stupid:)

olee 18. Feb 2008 17:35

Re: [Game] 2.6D - Sandb(L)ox
 
Such mal in der Delphi Hilfe nach TList und Co.

3_of_8 18. Feb 2008 18:44

Re: [Game] 2.6D - Sandb(L)ox
 
Und bei Destroy noch ein override; dahinter. ;)

xZise 18. Feb 2008 20:09

Re: [Game] 2.6D - Sandb(L)ox
 
Zitat:

Zitat von 3_of_8
Und bei Destroy noch ein override; dahinter. ;)

Also ehrlich ^^ Das da oben war nur als Beispiel zum Angucken gedacht und nicht zum 1 zu 1 kopieren.
Würde man verstehen, was ich da geschrieben habe, wüsste man, was man gegen die Fehler machen müsste ^^
Bezüglich der TObjectList: Einfach markieren (oder mit der Maus "reinklicken"), so dass der Cursor im Wort ist und dann drücke mal "F1" (also die Taste) und oh wunder: Die Delphi Hilfe wird dir sagen, dass du "Contrs" hinzufügen musst.

Übrigens hat TObjectList den Vorteil gegenüber der TList bei Objekten, dass es weiß "wovon" es redet.
Die TList könnte auch eine Integer-List sein ;)
So kann die TObjectList automatisch die Objekte freigeben, sobald es selber freigegebn wird (Standard), oder Objekte freigeben die aus der Liste gelöscht werden.

MfG
xZise

3_of_8 18. Feb 2008 20:12

Re: [Game] 2.6D - Sandb(L)ox
 
Ich bezog mich auf die Fehlermeldungs-Liste von custom. ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:37 Uhr.
Seite 10 von 18   « Erste     8910 1112     Letzte »    

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