Thema: Delphi Lösung für 2D Brett

Einzelnen Beitrag anzeigen

SimStar001

Registriert seit: 18. Jan 2008
594 Beiträge
 
#24

Re: Lösung für 2D Brett

  Alt 15. Mai 2009, 13:19
Hallo, im Prinzip geht alles.

Du kannst alles auch mit dynamischen arrays machen, aber wenn es bei deinem Programm immer die selbe größe ist wäre es quatsch.

Wenn du dein Array am Anfang mit einer Default Bitmap füllen willst, kannst du das ganze ganz einfach über eine Schleife machen.

einfach so:

Delphi-Quellcode:
for i := 0 to 6 do
          for u := 0 to 6 do
            Feldarray[i,u].loadfromfile(BildMitBildindexDefault);
nun möchtest du garantiert wissen wo sich jedes bild befinedet, also di x, y koordinaten haben.
Aus diesem Grund würde ich dir raten das ganze jetzt entweder in ein Record zu packen und dann ein Array von diesem Record zu erzeugen, oder das ganze als nächster schritt dann in eine eigene Klasse.

Für Record würde ichs so machen:

Delphi-Quellcode:
type TMeinSpielFeld = record
       Bild : TBitmap;
       Left : Integer;
       Top : Integer;
       // Du kannst hier noch andere Parameter definieren die du brauchst
       // Wie zum Beispiel:
       BildIndex : Integer;
       end;

var MeinSpielFeld : array [0..6,0..6] of TMeinSpielFeld;
Somit hättest du jetzt den Vorteil dass du ein Array hast, welches zu jedem Bitmap auch noch die Koordinaten beinhaltet und alle anderen Sachen die du dann noch Brauchst.

Jetzt kannst du auch einfach die x ( Left) und y (Top) Koordinaten abfragen:

Delphi-Quellcode:
x := MeinSpielFeld[0,0].Left;
y := MeinSpielFeld[0,0].Top;

//usw.

Das ganze als nächsten Schritt in eine Klasse zu packen ist aufwendiger, aber am Ende doch noch mehr von Vorteil. Aber das kannst du später alles immernoch machen.
Versuch das ganze ruhig ersteinmal so hinzubekommen.
  Mit Zitat antworten Zitat