Skocz do zawartości

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

Szymon22

Rozwiązany: [PASCAL] - Animacja koła.

Polecane posty

Witam. Mam do zrobienia w Pascalu na poniedziałek program który będzie wyświetlał koło poruszające się w prawo i w lewo 5 razy. Oto co sam wykombinowałem:

program animacja;
uses crt,graph;
const
sc='c:\tp\bgi';
var
i,a,sterownik,tryb:integer;
begin

initgraph(sterownik,tryb,sc);
sterownik:=detect;
setcolor(white);
for i:=1 to getmaxx do
for a:=getmaxx downto 1 do

begin

cleardevice;
setcolor(red);
circle(i,100,50);
setcolor(white);
circle(i,100,50);

end;

        begin
        setcolor(red);
        circle(a,100,50);
        setcolor(white);
        circle(a,100,50);
        end;

readkey;
closegraph;
end.

Niestety niewiem co robię żle bo koło się zacina :rolleyes: .

Prosze o pomoc w dokończeniu tego programu.

Link do komentarza
Udostępnij na innych stronach

Problemem są źle użyte pętle, tzn. tak naprawdę program wykona najpierw coś takiego:

for i:=1 to getmaxx do
for a:=getmaxx downto 1 do
begin
cleardevice;
setcolor(red);
circle(i,100,50);
setcolor(white);
circle(i,100,50);
end;

A następnie raz wykona:

begin
setcolor(red);
circle(a,100,50);
setcolor(white);
circle(a,100,50);
end;

Aby animacja wykonała się poprawnie musisz najpierw wykonać pętlę, która będzie przesuwała koło w prawo, czyli:

for i:=1 to getmaxx do
begin
cleardevice;
setcolor(red);
circle(i,100,50);
setcolor(white);
circle(i,100,50);
end;

a dopiero po tej pętli wstawić pętlę, która będzie przesuwać koło w lewo:

 for a:=getmaxx downto 1 do
begin
setcolor(red);
circle(a,100,50);
setcolor(white);
circle(a,100,50);
end;

Link do komentarza
Udostępnij na innych stronach

U mnie w szkole Pascal również jest obecny... co mnie niesamowicie irytuje i wkurza. Wiem, że raczej nie będę miał z tego programu użytku i w przyszłości niemożliwe jest napisanie godnych aplikacji przez żenującego Pascala... przepraszam, musiałem się wyżalić... :dry:

Link do komentarza
Udostępnij na innych stronach

Pascal jest dobry do nauki podstaw programowania, nawet powiedziałbym, że łatwiejszy niż C. Jak nauczysz się podstaw to przesiadka na C czy C++ nie jest problemem, a jak nie jesteś w stanie nauczyć się Pascala, to nie masz co myśleć o programowaniu. A Delphi (czyli tak naprawdę obiektowy Pascal) nadal się wykorzystuje w komercyjnych projektach.

Link do komentarza
Udostępnij na innych stronach

Tą dyskusję wałkowaliśmy już tysiąc razy, więc w tej chwili mogę rzucić tylko stary dowcip:

Konferencja programistów Delphi nie odbędzie się w tym roku. Jeden jest chory, a drugi powiedział, że sam nie jedzie.

A jako że problem rozwiązany to temat zamykam.

Link do komentarza
Udostępnij na innych stronach

Gość
Temat jest zablokowany i nie można w nim pisać.


  • Kto przegląda   0 użytkowników

    • Brak zalogowanych użytkowników przeglądających tę stronę.
×
×
  • Utwórz nowe...