Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Pascal
Перезагрузить страницу Мельница с вращающимися лопастями на языке Pascal
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Arian_Rayn Arian_Rayn вне форума
Новичок
 
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 13.11.2011
Exclamation Мельница с вращающимися лопастями на языке Pascal - 13.11.2011, 14:37

Помогите, пожалуйста, с этим проектом... сдать все нужно во вторник... никак не могу нарисовать мельницу с вращающимися лопастями... есть написанная часть... не работает ни в программе Pascal ABC, ни в Pascal Turbo, не понятно, почему работает не так как надо.... помогите, пожалуйста.. больше надеятся не на кого... буду оочень ооочень благодарна...

вот код программы:
uses graphABC,crt;
{отрисовка лопастей в виде замкнутого полигона
параметры: центральная точка, радиус, цвет, текущий угол поворота}
procedure Lop(xc,yc,r,c:integer;u0:real);
var p:array[1..13] of integer;
i:integer;
u,du:real;
begin
u:=pi/4;du:=u/4;{первая лопасть по 45 гр., ввер и вниз на 45/4 гр.}
for i:=1 to 4 do
begin
p[3*i-2].x:=xc; p[3*i-2].y:=yc;{первые точки в центре}
p[3*i-1].x:=xc+round(r*cos(u0+u-du));
p[3*i-1].y:=yc-round(r*sin(u0+u-du));
p[3*i].x:=xc+round(r*cos(u0+u+du));
p[3*i].y:=yc-round(r*sin(u0+u+du));
u:=u+pi/2;{лопасти через 90 градусов}
end;
p[13].x:=p[1].x; p[13].y:=p[1].y; {замкнем}
setcolor(clblack);
drawpoly(13,p); {рисуем заданным цветом}
{вот здесь у меня в ТП какой-то глюк, не рисует эту линию
в АВС и Фрее все рисует нормально,
да и должно рисовать, линия же внутри полигона
проверьте без нее, не будет показывать, допишите}
{line(p[4].x,p[4].y,p[5].x,p[5].y);}
end;
{помещение мельницы, все размеры от радиуса}
procedure Meln(xc,yc,r,c:integer);
var p:array[1..5] of pointtype;
i:integer;
begin
p[1].x:=xc-r div 3;p[1].y:=yc-r div 10;
p[2].x:=xc+r div 3;p[2].y:=yc-r div 10;
p[3].x:=xc+2*r div 2;p[3].y:=yc+2*r;
p[4].x:=xc-2*r div 2;p[4].y:=yc+2*r;
p[5].x:=p[1].x;p[5].y:=p[1].y;
setcolor(c);
drawpoly(5,p);
end;
var x,y,r:integer;
u:real;
begin
initgraph(x,y,'');
setbkcolor(15);
r:=150; {зададим радиус}
x:=getmaxX div 2;
y:=r+10;{центральная точка лопастей}
u:=0; {в цикле перерисовываем с поворотом лопастей}
repeat
Meln(x,y,r,6);
Lop(x,y,r,8,u);
delay(100);
Meln(x,y,r,0);
Lop(x,y,r,0,u);
u:=u+pi/16;
until keypressed; {пока не нажата клавиша}
readln
end.
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программирование на языке Turbo Pascal Енот! Pascal 1 26.04.2012 19:10
Унификация на языке Prolog Hellin Prolog 2 06.10.2011 08:02
Задача на языке ADA Bigjktu Вопросы начинающих программистов 0 27.06.2011 19:57
Напишите на языке Pascal программу multnum некрон Pascal 0 10.06.2011 00:13
помогите составить программу на языке Pascal sedoff777 Pascal 1 18.11.2010 06:50
Составить программу на языке Си Belii09878 С/С++ 2 28.01.2010 18:40
Помошь в английском языке NERO_1 Общетематический 0 14.12.2009 10:12
Преобразование программы на языке Pascal kugur Lisp 10 29.07.2009 15:12
Программирование на языке C# Нифонит .NET 5 05.05.2009 00:19
Дешифрации на языке TurboC++ Вася Пупкин Вопросы начинающих программистов 6 10.10.2008 22:46
MSDN для VC6 на русском языке ЖенЬк.) Visual C++ 15 20.10.2004 20:25
Где найти документацию на русском языке Turbo Pascal 7.0 safpir Pascal 2 27.04.2004 01:49



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов