Einzelnen Beitrag anzeigen

r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#7

AW: gegenseitiger Zugriff von zwei abgeleiteten Klassen

  Alt 11. Nov 2010, 22:50
Du willst doch 2 Objekte gegeneinander kämpfen lassen. Dann mach das doch
Delphi-Quellcode:
procedure Fight( const AObj, BObj : TBewObj );
begin
  AObj.Leben := AObj.Leben - BObj.Staerke;
  BObj.Leben := BObj.Leben - AObj.Staerke;
end;
Genau. Bzw. besser noch als Methode:
Delphi-Quellcode:
procedure TMovableObject.Fight(AOther : TMovableObject);
begin
  Self.Leben := Self.Leben - AOther.Staerke;
  AOther.Leben := AOther.Leben - Self.Staerke;
end;
Das ist ziemlich straightforward.

Interessant wirds erst, wenn es einen Unterschied macht, wer gegen wen kämpft. Siehe hierzu:
http://www.christian-rehn.de/2009/08/31/multimethoden/
http://www.christian-rehn.de/2010/01...iple-dispatch/


mfg

Christian
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat