Вращение пятиконечной звезды вокруг своего центра


Пятиконечная звезда. Анимация Паскаль

uses crt,graph;
var  i,x0,y0,R,gd,gm:integer;
     p:array[1..11]of Pointtype;
     a,c1,c2:integer;
procedure Move(r,a,c:integer);
var i,u:integer;
begin
u:=a;
for i:=1 to 10 do
  begin
    if i mod 2=0 then
      begin
        p[i].x:=x0+round(r*cos(u*pi/180));
        p[i].y:=y0-round(r*sin(u*pi/180));
      end
    else
      begin
        p[i].x:=x0+round((r div 2)*cos(u*pi/180));
        p[i].y:=y0-round((r div 2)*sin(u*pi/180));
      end;
    u:=u+36;
  end;
p[11].x:=p[1].x;
p[11].y:=p[1].y;
MoveTo(p[1].x,p[1].y);
setcolor(c);
for i:=1 to 11 do
LineTo(p[i].x,p[i].y);
{если раскомментировать следующие 2 строки
звезда будет закрашенной, но сильное мерцание}
{setfillstyle(1,c);
floodfill(x0-1,y0,c);}
end;
begin
R:=100;
InitGraph(gd,gm,'');
x0:=GetMaxX div 2;
y0:=GetMaxY div 2;
a:=-18;
i:=1;
c2:=0;
repeat
c1:=i;
Move(r,a,c1);
delay(100);
Move(r,a,c2);
a:=a+2;
if a mod 18=0 then i:=i+1;
if i=16 then i:=1;
until keypressed;
readln
end.
 
http://www.cyberforum.ru 

Комментариев нет:

Отправить комментарий

Если у вас интересные исходники и вы не прочь поделиться, то присылайте daslex@yandex.ru с указанием Темы: Графика Паскаль
К вашей работе будет прикреплено ваше авторство и по желанию добавлена ссылка на ваш сайт.
На одну страницу - Одна работа. На одну работу - Одна ссылка + указание автора


Основное требование - это один файл .pas без сторонних модулей (только с родными. предпочтение Graph).
Можно использовать ассемблерные вставки.

Все что Запускается у меня и работает, я выкладываю. в этом блоге.
Яндекс.Метрика