Prosta animacja w Pascalu

0

Witam. Mam do napisania animację w Pascalu, ale nie mam pojęcia jak się do tego zabrać. Po pierwsze nie mogę zainicjować grafiki. Pojawia się błąd, że mam za mało pamięci(a mam 64 MB RAM). Gdy uruchamiam spod czystego DOSA też jest taki komunikat.

WIęc pierwsze pytanie: Jak zainicjować tą grafikę? (assembler też odpada, ponieważ tworzy się na ekranie jakaś jakby kolorowa siatka i to wszystko)

I oto, co ma robić program:

Animacja lotu pocisku wystrzelonego z zadana predkoscia, z zadanym katem z zadanej wysokosci

W programie podajemy predkosc pocisku, kat lotu, wysokosc i chemy otrzymac animacje lotu
prosta animacja lecacego punktu na osi współrzednych.

Nie mam pojęcia, jak się do tego w ogóle zabrać. Pomoże ktoś?
BTW, mam Turbo Pascal 7.0

0

Hmm jeśli nie wiesz jak się za to zabrać, to raczej nie zabieraj się za to :)

Animacja lotu.. hmm ja bym dał jakąś pętelkę i położenie punktu zgodne z jakimś tam fizycznym równaniem na ruch (lot), którego wartość zależy od pozycji w poziomie (x.. w liczniku pętli)... tak chyba najprościej.

0

Wreszcie ktos normalny, kto uzywa jeszcze dos'a... ;p
Najprościej...

uses graph;
var i,j:integer;
begin
  i:=vga; {detect}
  j:=vgamed; {vgalo/hgahi}
  initgraph(i,j,'');
  ...
  closegraph;
end.

vgalo - 640x200x16 (4 strony)
vgamed - 640x350x16 (2 strony)
vgahi - 640x480x16 (1 strona)

Oczywiście 16 kolorów, nie bitów, ale jak chcesz, to na pewno jeszcze są sterowniki gdzieś na sieci. I trzeci parametr wywołania initgraph to ścieżka do sterowników bgi (i=vga -> egavga.bgi).

Tym razem masz bez bugów. [diabel]

0

Co do samego ruchu, to chyba jakoś tak to było (krzywa balistyczna) ...

w poziome :

sx(t)=v0cos(alpha)t-att/2

a - przyspieszenie wynikające z siły tarcia.
v0*cos(alpha) - składowa pozioma prędkości początkowej.

w pionie:
sy(t)=v0sin(alpha)t-gtt/2

g=9.81... (bez komentarza).

1 użytkowników online, w tym zalogowanych: 0, gości: 1