Mega Code Archive

 
Categories / Delphi / Games
 

Yatay atış simulasyonu

// Lise Fizik 2 kitabından elde ettiğimiz y ve x formulleri işimizi görüyor: { y = Vo.cos(alfa).t - 1/2 g.t.t g = 10 desek x = Vo.sin(alfa).t havada kalma süresi, menzil, tepe noktası da tabii ki hesaplanabilir } unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Button1: TButton; LabeledEdit1: TLabeledEdit; //Vo ilk hız LabeledEdit2: TLabeledEdit; //Açı alfa LabeledEdit3: TLabeledEdit; //Tahmini toplam havada kalma süresi Bevel1: TBevel; Image1: TImage; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var i:integer;x,y:real; begin for i:=0 to strtoint(LabeledEdit3.Text) do begin image1.Canvas.MoveTo(round(x),image1.height-round(y)); y:= strtoint(LabeledEdit1.Text)*sin(strtoint(LabeledEdit2.Text)*PI/180)*i-5*i*i; x:= strtoint(LabeledEdit1.Text)*cos(strtoint(LabeledEdit2.Text)*PI/180)*i; image1.Canvas.lineTo(round(x),image1.height-round(y)); end; end; procedure TForm1.FormCreate(Sender: TObject); begin Button1Click(self); end; end.