Entwickler-Ecke

Algorithmen, Optimierung und Assembler - bewegen einer kugel beim biliard


schnulli!!! - Mi 25.10.06 13:55
Titel: bewegen einer kugel beim biliard
also ich hab nen problem:

ich will billiard programieren weiß auch mehr oder weniger wies geht
nur die kugel will sich nich bewegen

also wer weiß wo der fehler is bitte helft mir

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    Image1: TImage;
    Label1: TLabel;
    Label2: TLabel;
    Timer1: TTimer;
    Timer2: TTimer;
    Image2: TImage;
    Image3: TImage;
    procedure FormShow(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Image1Click(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  posx,posy: integer;

implementation

{$R *.DFM}

procedure TForm1.FormShow(Sender: TObject);
 VAR Bitmap : TBitmap;
begin
   Bitmap := TBitmap.Create;
   Bitmap.Width := Image1.Width;
   Bitmap.Height := Image1.Height;
   Image1.Picture.Graphic := Bitmap;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
   p: Tpoint;
begin
  GetCursorPos(P);
  Label1.Caption := IntToStr(P.X-100);
  Label2.Caption := IntToStr(P.Y-100);
end;

procedure TForm1.Image1Click(Sender: TObject);
begin
     timer1.enabled:= false;
end;

procedure TForm1.Timer2Timer(Sender: TObject);
var
   stepx,stepy,x,y:integer;
begin
      posx:= 100;
      posy:= 125;
      if timer1.enabled= false then
      begin
             x:= StrToInt(label1.caption);
             y:= StrToInt(label2.caption);
             stepx:= round((x-posx)/100);
             stepy:= round((y-posy)/100);
             posx:= posx+stepx;
             posy:= posy+stepy;
             image1.canvas.ellipse(posx+10,posy+10,posx-10,posy-10);
             image1.canvas.brush.color:= clyellow;
       end;

end;

end.


irgendwo bei timer2 muss der fehler sein

Moderiert von user profile iconjasocul: Delphi-Tags hinzugefügt


Horschdware - Mi 25.10.06 14:02

Setze doch bitte deinen Code in Delphi tags ( [ delphi ] und [ / delphi ] )

Schau dir mal Timer2Timer an:
Dort wird bei jedem Aufruf die Kugel an 100|125 gesetzt.
Stelle doch die Ausgangsposition wo anders ein, dann dürfte das gehen.


schnulli!!! - Mi 25.10.06 14:06

ja hab ich mir auch gedacht aber wohin?


Kroko - Mi 25.10.06 14:08

user profile iconschnulli!!! hat folgendes geschrieben:
ja hab ich mir auch gedacht aber wohin?

In deinen Beitrag, vor (Delphi) und nach (/Delphi) den Quelltext (nur eben in []-Klammern)!


schnulli!!! - Mi 25.10.06 14:43

ahso ok nächstes mal

naja habs jetzt eh hingrkigt dei kugel macht zwar was se will aber immerhin bewegt se sich shcon mal

falls jemadn weiß wie man dann die kugeln die davor waren wegmacht das wär auhc noh sehr hilfreich


jasocul - Mi 25.10.06 14:46

@schnulli!!!

Ich habe jetzt Delphi-Tags in Deinen Beitrag eingefügt. Wenn Du Auf den Beitrag gehst und die Edit-Funktion nutzt (Scheren-Symbol), dann kannst Du sehen, wie das aussehen soll.
Ansonsten gibt es beim Erfassen und Ändern eines Beitrags über dem Text Formatierungsfunktionen. Du findest in "Bereiche" auch die Delphi-Formatierung. Einfach am Anfang des Sources das "+" hinter Delphi klicken und am Ende des Sources nochmal.

Die überflüssigen Beiträge habe ich mal gelöscht.


Matrize - Sa 11.11.06 19:40

Du könntest vielleicht die alten Kugeln mit der Hintergrundfarbe übermalen.


Corpsman - Mo 27.11.06 18:46

Hi schnulli,

Das Problem hast nicht nur du ;)

Ich habe da mal ein Sample dazu auf meine Homepage gestellt gehabt, ja wo ist es denn.

Ach hier [http://tyrann.deadbyte.de/corpsman/klickcounter.php?url=download/pingpong.zip].