Thema: Delphi Ping-Pong

Einzelnen Beitrag anzeigen

Benutzerbild von whiteshark
whiteshark

Registriert seit: 4. Dez 2003
Ort: Cottbus
222 Beiträge
 
Delphi 2005 Personal
 
#1

Ping-Pong

  Alt 14. Mai 2004, 19:12
Hallo Leute,

ich habe ein Problem und zwar will ich ein PINK-PONK programmiern. Es funktioniert ja soweit mit an den Seiten abprallen und so, aber ich kann den balken nicht richtig bewegen bzw. garnicht. Beim Compilieren brinnt er aber keinen Fehler. Wer kann mir helfen?

CODE:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
const radius=15;
      balkenbreite=70;
      balkenhoehe=15;
begin
loeschcolor:=form1.color;
loeschpen:=form1.color;
loeschbrush:=form1.color;
canvas.brush.color:=clblue;
canvas.pen.color:=clblue;
balkenmitte := form1.clientwidth div 2;
balkenbx:=4;
x:=width div 2;
y:=height div 2; // Position
bx:= 2;
by:=2;

canvas.pen.color:=clgreen;
canvas.Brush.color:=clyellow;
  rechteck.Left := 80;
  rechteck.Top := 70;
  rechteck.Right := 130;
  rechteck.Bottom := 120;
form1.Canvas.Rectangle(rechteck); //Rechteck


repeat
stop:=false;

form1.canvas.Pen.Color:=clgreen;
form1.canvas.Brush.color:=clyellow;
canvas.Ellipse(x-radius,y-radius,x+radius,y+radius); //malen

sleep(5); //warten

form1.canvas.Pen.color:=loeschpen;
form1.canvas.Brush.color:=loeschbrush;
form1.Canvas.ellipse(x-radius,y-radius,x+radius,y+radius); //loeschen#



x:=x+bx;
y:=y+by; //rechnen

if (x<radius) or(x>form1.clientwidth-radius) then begin
                bx:=-bx;
                end;

if (y<radius) or(y>form1.ClientHeight-radius) then begin
                by:=-by;
                end;
application.ProcessMessages;
until stop=true;
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if Key=vk_F1 then begin
                     rechteck.Left:=rechteck.left-5;
                     rechteck.bottom:=rechteck.bottom-5;
                     rechteck.Right:=rechteck.right-5;
                     rechteck.Top:=rechteck.top-5;
                     end;

 if Key=vk_F2 then begin
                      rechteck.Left:=rechteck.left+5;
                      rechteck.bottom:=rechteck.bottom+5;
                      rechteck.Right:=rechteck.right+5;
                      rechteck.Top:=rechteck.top+5;
                      end;

end;




end.
[edit=MrSpock]Doppelpost gelöscht. Code Tags gesetzt. Mfg, MrSpock[/edit]
  Mit Zitat antworten Zitat