Пятиконечная звезда. Анимация Паскаль
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
Комментариев нет:
Отправить комментарий