Zitat von
DeddyH:
Da ich Deine "Ball"-Klasse nicht kenne, kann ich Dir das auch nicht sagen. Aber anscheinend benutzt Du ein Shape, um den Ball zu zeichnen, also musst Du dann dessen Koordinaten zur Berechnung hernehmen.
Das ist die mTBall:
Delphi-Quellcode:
UNIT mtBall;
interface
//-------------------- ggf Uses-Liste einfügen ! --------------------
uses graphics;
type
TBall =
class
private //Attribute
X : Integer;
Y : Integer;
Farbe : TColor;
public //Methoden
procedure bewege (px,py: Integer);
virtual;
procedure SetzeFarbe (pFarbe: TColor);
virtual;
procedure SetzeX (pX: Integer);
virtual;
procedure SetzeY (pY: Integer);
virtual;
function GibFarbe : TColor;
virtual;
function GibX : Integer;
virtual;
function GibY : Integer;
virtual;
end;
implementation
//+---------------------------------------------------------------------
//| TBall: Methodendefinition
//+---------------------------------------------------------------------
//-------- bewege (public) ---------------------------------------------
procedure TBall.bewege (px,py: Integer);
begin
x:=x+px;
y:=y+py;
end;
//-------- SetzeFarbe (public) -----------------------------------------
procedure TBall.SetzeFarbe (pFarbe: TColor);
begin
Farbe := pFarbe
end;
//-------- SetzeX (public) ---------------------------------------------
procedure TBall.SetzeX (pX: Integer);
begin
X := pX
end;
//-------- SetzeY (public) ---------------------------------------------
procedure TBall.SetzeY (pY: Integer);
begin
Y := pY
end;
//-------- GibFarbe (public) -------------------------------------------
function TBall.GibFarbe : TColor;
begin
result := Farbe
end;
//-------- GibX (public) -----------------------------------------------
function TBall.GibX : Integer;
begin
result := X
end;
//-------- GibY (public) -----------------------------------------------
function TBall.GibY : Integer;
begin
result := Y
end;
end.
Und das ist die mTBrett (Schläger):
Delphi-Quellcode:
UNIT mTBrett;
interface
//-------------------- ggf Uses-Liste anpassen ! --------------------
uses Graphics;
type
TBrett =
class
private //Attribute
a : Integer;
b : Integer;
Farbe : TColor;
public //Methoden
procedure Bewegebrett (pa,pb: Integer);
virtual;
procedure SetzeA (pA: Integer);
virtual;
procedure SetzeB (pB: Integer);
virtual;
function GibA : Integer;
virtual;
function GibB : Integer;
virtual;
end;
implementation
//+---------------------------------------------------------------------
//| TBrett: Methodendefinition
//+---------------------------------------------------------------------
//-------- Bewegebrett (public) ---------------------------------------------
procedure TBrett.Bewegebrett (pa,pb: Integer);
begin
a:=a+pa;
b:=b+pb;
end;
//-------- SetzeA (public) ---------------------------------------------
procedure TBrett.SetzeA (pA: Integer);
begin
a := pa
end;
//-------- SetzeB (public) ---------------------------------------------
procedure TBrett.SetzeB (pB: Integer);
begin
b := pB
end;
//-------- GibA (public) -----------------------------------------------
function TBrett.GibA : Integer;
begin
result := a
end;
//-------- GibB (public) -----------------------------------------------
function TBrett.GibB : Integer;
begin
result := b
end;
end.
Bitte hilf mir auf die Sprünge und sag mir was ich einfügen muss, alleine ohne Lösung wird das nix bei mir