Skocz do zawartości

Problem z grafiką w pascalu


jimmy

Polecane posty

Musze stworzyć program, który narysuje kwadrat obracający się wokół środka ekranu a na dodatek sam kwadrat będzie obracał się wokół swojego środka. O ile z obrotem wokół środka ekranu sobie poradziłem, to z obrotem wierzchołków wokół środka kwadratu już nie mogę nic ułożyć.

 

Kod wygląda tak:

uses crt, graph;

var
r,driver,mode:integer;
bok,skx,r2,sky,sx,sy,x1,y1,x2,y2:integer;
kat:Real;

procedure kwadrat;

begin
bok:=80;
x1:=skx-bok div 2;
y1:=sky-bok div 2;
x2:=skx+bok div 2;
y2:=sky+bok div 2;
line(x1,y1,x2,y1);
line(x2,y1,x2,y2);
line(x2,y2,x1,y2);
line(x1,y2,x1,y1);

end;

begin

kat:=0.034;
clrscr;
Randomize;
driver:=detect;
InitGraph(driver,mode,'C:\TP\BGI');
sx:=GetMaxX div 2;
sy:=GetMaxY div 2;
r:=100;

skx:=sx-r;
sky:=sy-r;
writeln(sky,' ',skx,' ',sx,' ',sy);


repeat
skx:=skx+GetMaxX div 2;
sky:=sky+GetMaxY div 2;
setcolor(white);
kwadrat;
delay(5);
setcolor(black);
kwadrat;
skx:=skx-GetMaxX div 2;
sky:=sky-GetMaxY div 2;
skx:=round(sin(kat)*r);
sky:=round(cos(kat)*r);
kat:=kat+0.01;
writeln(sky,' ',skx,' ',x2,' ',r2);
r2:=Round(sqrt(2)*bok);

until keypressed;

closegraph;


end.

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

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

×
×
  • Utwórz nowe...