hallo
Ich bin ein blutiger Anfänger, nur damit ich mir eventuelle Kommentare erspare
ich muss ein kleines Programm schreiben, das dafür sorgt das ein Ball an den Wänden einer Begrenzung (eine weiße quadratische shape) abprallt bzw nach dem Motto "Einfallswinkel=Ausfallswinkel" reflektiert wird.
Im Moment macht der Ball noch nicht das was ich von ihm will.
Delphi-Quellcode:
unit Uball;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls;
type
TForm1 =
class(TForm)
sgrenze: TShape;
sball: TShape;
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
bx: Integer;
by: integer;
implementation
{$R *.DFM}
procedure TForm1.Timer1Timer(Sender: TObject);
begin
bx:=10;
by:=20;
sball.left:=sball.left+bx;
if sball.left < 0
then
begin
sball.left := 1;
bx := -bx;
end;
if sball.left > sgrenze.width - sball.left
then
begin
sball.left := sgrenze.width - sball.left;
bx := -bx;
end;
sball.top := sball.top+by;
if sball.top < 0
then
begin
sball.Top := 1;
by := -by;
end;
if sball.top > sgrenze.height - sball.height
then
begin
sball.top := sgrenze.height - sball.height;
by := -by;
end;
end;
end.
Ich bräuchte eure Hilfe!
Außerdem würde ich gerne eine dritte Shape als bewegliche Wand einbauen (Mousemove) um ein bisschen mit dem Ball herumzuspielen, weiß aber nicht wie ich das anstelle.
vielen Dank im Vorraus,
Smokey