Hey Leutz,
Ich habe früher viel C++ Programmiert bin aber vor einiger Zeit auf Delphi umgestiegen.
Nun bin ich dabei ein naja einfaches Game zu schreiben, mein Problem liegtnach
if (bar.Top = Kugel.Top)
then if
vermute ich Code.
Und zwar soll, wenn der Ball auf das Rechteck fliegt wieder zurück kehren.
Dummerweiße erkennt mein Programm nicht dass der Ball die gleiche .left wie mein
Balken(Rechteck) hat. Dass rechteck hat eine Width von 25 darum auch immer +1/-1
da er ja , egal auf welcher Fläche er landet es Merken soll.
Ich hoffe ihr habts kapiert ...
Hier der Code :
Hey Leutz,
Ich habe früher viel C++ Programmiert bin aber vor einiger Zeit auf Delphi umgestiegen.
Nun bin ich dabei ein naja einfaches Game zu schreiben, mein Problem liegtnach
if (bar.Top = Kugel.Top)
then if
vermute ich Code.
Und zwar soll, wenn der Ball auf das Rechteck fliegt wieder zurück kehren.
Dummerweiße erkennt mein Programm nicht dass der Ball die gleiche .left wie mein
Balken(Rechteck) hat. Dass rechteck hat eine Width von 25 darum auch immer +1/-1
da er ja , egal auf welcher Fläche er landet es Merken soll.
Ich hoffe ihr habts kapiert ...
Hier der Code :
Delphi-Quellcode:
var
Form1: TForm1;
counter : integer;
xK : integer;
yK: integer;
i : integer;
implementation
{$R *.dfm}
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
yy : string;
xx : string;
begin
yy := IntToStr(Y);
xx := IntToStr(X);
aY.Caption := yy;
aX.Caption := xx;
if Y > 350 then if Y < 426 then bar.Top := Y;
if X < 501 then bar.Left := X; // Bar der Maus nachlaufen lassen!
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
counter := 1;
xK := 300;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Kugel.Left := xK;
if (i = 1) then begin counter := counter +1;
yK := counter; end else
if (i = 2) then begin counter := counter -1;
yK := counter; end;
if (bar.Top = Kugel.Top)
then if
(bar.Left =
(Kugel.Left) or (Kugel.Left +1) or (Kugel.Left -1) or
(Kugel.Left +2) or (Kugel.Left -2) or (Kugel.Left +3) or (Kugel.Left -3) or
(Kugel.Left +4) or (Kugel.Left -4) or (Kugel.Left +5) or (Kugel.Left -5) or
(Kugel.Left +6) or (Kugel.Left -6) or (Kugel.Left +7) or (Kugel.Left -7) or
(Kugel.Left +8) or (Kugel.Left -8) or (Kugel.Left +9) or (Kugel.Left -9) or
(Kugel.Left +10) or (Kugel.Left -10) or (Kugel.Left +11) or (Kugel.Left -11) or
(Kugel.Left +12) or (Kugel.Left -12) or (Kugel.Left +13) or (Kugel.Left -13) or
(Kugel.Left +14) or (Kugel.Left -14) or (Kugel.Left +15) or (Kugel.Left -15) or
(Kugel.Left +16) or (Kugel.Left -16) or (Kugel.Left +17) or (Kugel.Left -17) or
(Kugel.Left +18) or (Kugel.Left -18) or (Kugel.Left +19) or (Kugel.Left -19) or
(Kugel.Left +20) or (Kugel.Left -20) or (Kugel.Left +21) or (Kugel.Left -21) or
(Kugel.Left +22) or (Kugel.Left -22) or (Kugel.Left +23) or (Kugel.Left -23) or
(Kugel.Left +24) or (Kugel.Left -24) or (Kugel.Left +25) or (Kugel.Left -25))
then begin
i := 2; end;
if Kugel.Top < 410 then
begin
Kugel.Top := Kugel.Top + yK;
end else begin
yK := 160; xK := 372; Panel1.Visible := true;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
i := 1
end;
end.
Mfg KleinAmann
Dominik A.