jak napisać (najlepiej pod delphi, ale może to być też pod innym językiem) armatę? zastosować rzut ukośny, kąt armaty powinien być zmienny a co zatym idzie i parabola lotu pocisku? całość powinna być w charakterze gry... POMOCY!!!
będę baaardzo wdzięczny za jakąś wskazówkę/namiar/lub co kolwiek co mnie przybliży do rozwiązania tego problemu.
Jak napisać armatę?
- :-D
będę baaardzo wdzięczny za jakąś wskazówkę/namiar/lub cokolwiek co mnie przybliży do rozwiązania tego problemu.
Fizyka - szkoła podstawowa:
Droga przebyta w poziomie - ruch jednostajny
Droga przebyta w pionie - ruch jednostajnie zmienny (a=g)
a tu masz wzory: http://mojanauka.pl/fizyka/teoria/wzory.htm
W LO miałem taką pracę domową do zrobienia w Delphi :) Chyba jeszcze mam na którejś z płytek (ale nie w formie gry).
var
Form1: TForm1;
xw,yw: Integer;
a,alpha,b,k,v: Real;
odl: String;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
v:=StrToInt(Edit1.Text);
alpha:=StrToInt(Edit2.Text);
alpha:=alphaPi/180;
a:=9.81/(2Sqr(v*Cos(alpha)));
b:=-Sin(Alpha)/cos(Alpha);
xw:=0; yw:= Form1.Height-1;
Form1.Canvas.MoveTo(xw,yw);
Timer1.Enabled:=True;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Form1.Canvas.Pen.Width := 10;
Form1.Canvas.Pen.Color := clRed;
Form1.Canvas.LineTo(xw,yw);
xw:=xw+20;
yw:=Form1.ClientHeight-1+Round((a*xw+b)*xw);
Form1.Canvas.MoveTo(xw,yw);
If (xw>=ClientWidth) or (yw>=Form1.ClientHeight)then
begin
If xw > Form1.Width then Label1.Caption := 'Odleglosc strzalu: Ponad 640 m.'
else begin odl:= FloatToStr(xw);
Label1.Caption := 'Odleglosc strzalu: ' +odl+' m';
end;
Timer1.Enabled := False;
end;
end;
RZUC okiem :-D na to.. moze ci sie przyda...
witam,
potrzebuje podobny programik, a konkretnie rzut pod katem trzech kulek (punkow) ze zmienna sila i katem nachylenia.
koniecznie w pascalu.
z gory thx za pomoc.
troszkę ot:
pamięta ktoś taką starą grę z armatkami, na zmianę się ustalało kąt położenia lufy i siłę wyrzutu kuli, strzelało się do armaty przeciwnika, wygrywał ten kto pierwszy zestarzeli tą drugą. jaki był tytuł tej gry ?
Scorched Earth czy coś w tym stylu chyba :>
taaa scorch..
stare dzieje, pamietam katowanie jakiegos archaicznego 386 z mono-monitorem w szkolnej swietlicy ;)
Chociaz to mnie za bardzo nie przybliza do rozwiazania problemu ;]
Takwiec moze znajdzie sie pomyslowy i uczynny pascalowiec :) ?
Armata? M'man! Aż wyjąłem książkę mojego wykładowcy! Biorąc pod uwagę kierunek i prędkość wiatru oraz masę pocisku, przy założeniu, że pocisk ma kształt kuli i przy wyjściu z lufy nabywa prędkości obrotowej = układ czterech równań różniczkowych, gdzie facet całkuje metodą Rungego-Kutty-Gilla (mówi ci to coś? Nawiasem mówiąc fajna symulacja w delphi). Pocisk artyleryjski nigdy nie porusza się po czystej paraboli także daruj sobie rzut ukośny, w którym pomijasz choćby opór powietrza.
brodny napisał(a)
Scorched Earth czy coś w tym stylu chyba :>
coś podobnego, tylko staaaaaaaaaarsze, coś z bum bum w tytule to było ale nic nie mogę znaleźć. ale Scorched Earth też może być, dzięki !