Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2008, 13:09   #1
ЕвгениуS
студент
Пользователь
 
Аватар для ЕвгениуS
 
Регистрация: 02.03.2008
Сообщений: 81
Печаль Помогите с анимацией в Паскале

используя модуль Graph создать анимированное изображение-из крана капают капли.

Вот начатый код. У меня главная трудность состоит в том, чтобы кран был на месте, при том что калпя движется.
В результате крана просто на экран не выводится..
Подскажите пожалуйста.

Код:
program prog1;
uses crt,GraphABC;
const t=20; d=3;
var I,x,y,e,r,gd,gm:integer;
procedure fff;
begin
circle(50,140-Y,5);
end;
begin
line(40,140,80,140);
repeat
fff;
Delay(t);
ClearWindow;
x:=x+d;
Y:=y-d;
until x>265;
{repeat
ff;
Delay(t);
ClearWindow;
r:=r-d;
e:=e+d;
until e<0;
readln;}
end.
ЕвгениуS вне форума Ответить с цитированием
Старый 06.06.2008, 13:40   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А в ABC в графический режим выходить не надо перед отрисовкой?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.06.2008, 13:47   #3
ЕвгениуS
студент
Пользователь
 
Аватар для ЕвгениуS
 
Регистрация: 02.03.2008
Сообщений: 81
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А в ABC в графический режим выходить не надо перед отрисовкой?
Вроде не обязательно.
этот код я делал в ПаскалеАВС
Код:
program GEO;
uses crt,GraphABC;
var x,y,r,a1,a2:integer;
begin
FloodFill(1,1,clCream);        {öâåò}
{îñíîâíàÿ ÷àñòü äîìà}
Rectangle(200,220,400,360);
FloodFill(201,221,clMedGray);  {öâåò}
Rectangle(199,359,401,370);
FloodFill(200,360,clMaroon);   {öâåò}
{îêíî_1}
Rectangle(225,253,255,290);    {îñíîâíàÿ ÷àñòü îêíà}
FloodFill(226,254,clSkyBlue);  {öâåò}
Arc(240,253,15,0,183);         {äóãà}
FloodFill(240,239,clSkyBlue);  {öâåò}
line(240,238,240,290);         {ñðåäíÿÿ ëèíèÿ}
line(240,253,250,241);         {ëèíèÿ íàïðàâî}
line(240,253,230,241);         {ëèíèÿ íàëåâî}
line(225,265,255,265);         {ãîðèçîíòàëüíàÿ ïåðåãîðîäêà_1}
line(225,278,255,278);         {ãîðèçîíòàëüíàÿ ïåðåãîðîäêà_2}
{îêíî_2}
Rectangle(225,305,255,340);    {îñíîâíàÿ ÷àñòü îêíà}
FloodFill(226,306,clSkyBlue);  {öâåò}
line(240,305,240,340);         {ñðåäíÿÿ ëèíèÿ}
line(225,317,255,317);         {ãîðèçîíòàëüíàÿ ïåðåãîðîäêà_1}
line(225,329,255,329);         {ãîðèçîíòàëüíàÿ ïåðåãîðîäêà_2}
{îêíî_3}
Rectangle(345,253,375,290);    {îñíîâíàÿ ÷àñòü îêíà}
FloodFill(346,254,clSkyBlue);  {öâåò}
Arc(360,253,15,0,183);         {äóãà}
FloodFill(361,239,clSkyBlue);  {öâåò}
line(360,238,360,290);         {ñðåäíÿÿ ëèíèÿ}
line(360,253,370,241);         {ëèíèÿ íàïðàâî}
line(360,253,350,241);         {ëèíèÿ íàëåâî}
line(345,265,375,265);         {ãîðèçîíòàëüíàÿ ïåðåãîðîäêà_1}
line(345,278,375,278);         {ãîðèçîíòàëüíàÿ ïåðåãîðîäêà_2}
{îêíî_4}
Rectangle(345,305,375,340);    {îñíîâíàÿ ÷àñòü îêíà}
FloodFill(346,306,clSkyBlue);  {öâåò}
line(360,305,360,340);         {ñðåäíÿÿ ëèíèÿ}
line(345,317,375,317);         {ãîðèçîíòàëüíàÿ ïåðåãîðîäêà_1}
line(345,329,375,329);         {ãîðèçîíòàëüíàÿ ïåðåãîðîäêà_2}
{âõîä}
Rectangle(278,308,322,370);    {êîñÿê}
FloodFill(279,309,clBrown);
Rectangle(280,310,320,370);    {äâåðü-îñíîâíàÿ ÷àñòü}
line(300,310,300,370);         {ñðåäíÿÿ ëèíèÿ}
Circle(305,340,2);             {ïðàâàÿ ðó÷êà}
FloodFill(305,340,clMedGray);
Circle(296,340,2);             {ëåâàÿ ðó÷êà}
FloodFill(296,340,clMedGray);
FloodFill(281,311,clTeal);     {öâåò ëåâîé äâåðè}
FloodFill(301,311,clTeal);     {öâåò ïðàâîé äâåðè}
{ñòóïåíè}
Rectangle(270,365,330,370);
FloodFill(271,366,clLtGray );  {öâåò}
{áàëêîí}
Rectangle(268,297,332,301);    {ïëèòà}
FloodFill(269,298,clLtGray );  {öâåò}
Rectangle(269,278,331,298);    {ïåðèëî}
{äâåðü íà áàëêîí}
Rectangle(285,253,315,298);    {îñíîâà}
FloodFill(286,254,clSkyBlue);  {öâåò}
Arc(300,253,15,0,183);         {äóãà}
FloodFill(300,239,clSkyBlue);  {öâåò}
line(300,238,300,298);         {ñðåäíÿÿ ëèíèÿ}
line(300,253,310,241);         {ëèíèÿ íàïðàâî}
line(300,253,290,241);         {ëèíèÿ íàëåâî}
line(285,268,315,268);         {ãîðèçîíòàëüíàÿ ïåðåãîðîäêà_1}
line(285,283,315,283);         {ãîðèçîíòàëüíàÿ ïåðåãîðîäêà_2}
{áàëêîí-ïðîäîëæåíèå}
line(269,278,331,278);         {ãëàâíûé êàðêàñ}
FloodFill(270,280,clMedGray);  {öâåò}
FloodFill(316,280,clMedGray);  {öâåò}
line(268,279,332,279);         {âåðõíÿÿ ïåðåãîðîäêà}
line(270,278,270,298);         {âåðòèêàëüíûé ïðóò_0.1}
line(278,278,278,298);         {âåðòèêàëüíûé ïðóò_1}
line(279,278,279,298);         {âåðòèêàëüíûé ïðóò_1}
line(287,278,287,298);         {âåðòèêàëüíûé ïðóò_2}
line(288,278,288,298);         {âåðòèêàëüíûé ïðóò_2}
line(296,278,296,298);         {âåðòèêàëüíûé ïðóò_3}
line(295,278,295,298);         {âåðòèêàëüíûé ïðóò_3}
line(304,278,304,298);         {âåðòèêàëüíûé ïðóò_4}
line(305,278,305,298);         {âåðòèêàëüíûé ïðóò_4}
line(312,278,312,298);         {âåðòèêàëüíûé ïðóò_5}
line(311,278,311,298);         {âåðòèêàëüíûé ïðóò_5}
line(323,278,323,298);         {âåðòèêàëüíûé ïðóò_6}
line(322,278,322,298);         {âåðòèêàëüíûé ïðóò_6}
line(329,278,329,298);         {âåðòèêàëüíûé ïðóò_0.2}
{êðûøà}
line(190,220,410,220);         {íèç}
line(220,150,380,150);         {âåðõ}
line(190,220,220,150);         {ëåâûé áîê}
line(380,150,410,220);         {ïðàâûé áîê}
FloodFill(221,151,clBrown);    {öâåò}
line(256,150,256,125);         {àíòåííà-ãëàâíàÿ âåðòèêàëü}
line(245,137,278,137);         {àíòåííà-ãîðèçîíòàëü}
line(263,145,263,128);         {àíòåííà-âåðòèêàëü_1}
line(271,142,271,130);         {àíòåííà-âåðòèêàëü_2}
line(249,142,249,130);         {àíòåííà-âåðòèêàëü_2}
Rectangle(330,185,343,140);    {òðóáà}
FloodFill(332,141,clGray);     {öâåò}
end.
ЕвгениуS вне форума Ответить с цитированием
Старый 06.06.2008, 14:17   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А если убрать ClearWindow; работает?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.06.2008, 14:34   #5
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
По умолчанию

line(40,140,80,140);
repeat

поменяй 2 строки местами.
Берегите друг друга!
Virtson вне форума Ответить с цитированием
Старый 06.06.2008, 15:07   #6
ЕвгениуS
студент
Пользователь
 
Аватар для ЕвгениуS
 
Регистрация: 02.03.2008
Сообщений: 81
Радость

Цитата:
Сообщение от Virtson Посмотреть сообщение
line(40,140,80,140);
repeat

поменяй 2 строки местами.
большое спасибо.. теперь все работает )))
ЕвгениуS вне форума Ответить с цитированием
Старый 06.06.2008, 15:10   #7
ЕвгениуS
студент
Пользователь
 
Аватар для ЕвгениуS
 
Регистрация: 02.03.2008
Сообщений: 81
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А если убрать ClearWindow; работает?
работает, но после каждого цикла предыдущее не стерается из за чего появляется черная траектория движения
ЕвгениуS вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с анимацией проги! Aboltus Общие вопросы Delphi 3 29.07.2008 23:21
Работа с анимацией в ACCESS kuk132 Microsoft Office Access 1 17.07.2008 14:07
Задача с анимацией KpeHDeJIb Помощь студентам 1 04.07.2008 20:23
помогите в Паскале Povar Помощь студентам 2 19.04.2008 09:54
Как отображать в своей программе файлы *.gif с анимацией? SalasAndriy Общие вопросы C/C++ 1 02.11.2007 12:17