Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#16

AW: Array mit Subeigenschaften der Elemente?

  Alt 3. Jul 2014, 21:23
ja geht auch, wenn ich mein "Prüfungskonzept" eh ändern muss. Usprünglich hatte ich alle Würfel aufaddiert, da spar ich mir mit int die Umwandlung.

aber wie definiere ich denn die Klasse TKlotz innerhalb der TFeld? Oder ist TKlotz keine Klasse?
Das werden beides Klassen, aber du hast eigentlich die wichtigste Klasse vergessen.

Die Würfel!
Delphi-Quellcode:
TLage = (horizontal, vertikal);

TWürfel = class
  PositionImKlotz : Integer; // 0..9
  function GetKoordinate( AIndex : Integer; ALage : TLage ) : TPoint;
end;

TKlotz = class
  Würfel : array of TWürfel;
end;

TKlotzImFeld
  Klotz : TKlotz;
  Index : Integer;
  Lage : TLage;
end;
  
TFeld = class
  Klötze : array of TKlotzImFeld;
  function IstZelleBelegt( x,y : Integer ): Boolean;
end;

function TFeld.IstZelleBelegt( AKoord : TPoint ) : Boolean;
begin
  for LKlotzInFeld in Klötze do
    for LWürfel in LKlotzInFeld.Klotz.Würfel do
      begin
        LKoord := LWürfel.Koordinate( LKlotzInFeld.Index, LKlotzInFeld.Lage );
        if LKoord = AKoord then
          Exit( True );
  Result := False;
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo ( 3. Jul 2014 um 21:28 Uhr)
  Mit Zitat antworten Zitat