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 public 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
jasocul: 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
schnulli!!! 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.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!