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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2014, 16:44   #1
Krugan
Пользователь
 
Регистрация: 14.05.2014
Сообщений: 14
Вопрос Звезда в турбо паскале

Здравствуйте! Я вот написал звезду в паскале
program zirka;
uses Graph,crt;
var
Gd,Gm:integer;
begin
Gd:=detect;
initGraph(Gd,Gm,'c:\BP\bgi');
line(100,120,70,100);
line(70,100,40,120);
line(40,120,55,95);
line(55,95,40,90);
line(40,90,60,90);
line(60,90,70,70);
line(70,70,80,90);
line(80,90,100,90);
line(100,90,85,95);
line(85,95,100,120);
readln;
end.

Но мне нужно чтоб она двигалась, вверх или вниз, вправо или влево, неважно главное чтоб двигалась. помогите плиз!
Krugan вне форума Ответить с цитированием
Старый 14.05.2014, 16:54   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

перерисовывайте вашу звезду от базисной точки - т.е. задаёте x,y (для анимации не важно, какая это будет точка, например, один из углов)

все остальные линии должны быть нарисованы относительно данной точки.
например,
Код:
initGraph(Gd,Gm,'c:\BP\bgi');
x := 100;
y := 120;
line(x,y, x-30, y-20);

приводите сюда переработанный код, поможем анимировать её...

p.s. анимация делается так.
начало цикла
стираем звезду по координатам x,y (например, выводим звезду цветом фона)
изменяем координаты (например x:= x+2;
выводим звезду по координатам x,y
делаем небольшую паузу (1/10 секунды, например).
повторяем цикл.

вот и всё.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.05.2014, 17:22   #3
Krugan
Пользователь
 
Регистрация: 14.05.2014
Сообщений: 14
По умолчанию Спасибо

Цитата:
program zirka;
uses Graph,crt;
var
Gd,Gm,x,y:integer;
begin
Gd:=detect;
initGraph(Gd,Gm,'c:\BP\bgi');
x:=100;
y:=120;
line(x,y,x-30,y-20);
line(x-30,y-20,x-60,y);
line(x-60,y,x-45,y-25);
line(x-45,y-25,x-60,y-30);
line(x-60,y-30,x-40,y-30);
line(x-40,y-30,x-30,y-50);
line(x-30,y-50,x-20,y-30);
line(x-20,y-30,x,y-30);
line(x,y-30,x-15,y-25);
line(x-15,y-25,x,y);
readln;
end.
вот переделал
Krugan вне форума Ответить с цитированием
Старый 14.05.2014, 20:32   #4
Krugan
Пользователь
 
Регистрация: 14.05.2014
Сообщений: 14
Счастье

Уже сделал все сам. Спасибо большое за помощь.
PHP код:
program zirka;
uses Graph,crt;
var
Gd,Gm,x,y:integer;
begin
Gd
:=detect;
initGraph(Gd,Gm,'c:\BP\bgi');
x:=100;
y:=120;
repeat
x
:=x+1;
ClearDevice;
line(x,y,x-30,y-20);
line(x-30,y-20,x-60,y);
line(x-60,y,x-45,y-25);
line(x-45,y-25,x-60,y-30);
line(x-60,y-30,x-40,y-30);
line(x-40,y-30,x-30,y-50);
line(x-30,y-50,x-20,y-30);
line(x-20,y-30,x,y-30);
line(x,y-30,x-15,y-25);
line(x-15,y-25,x,y);
delay(10)
until keypressed;
end
Вот рабочая прога, мож кому пригодится)
Krugan вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
в турбо паскале natalialove Фриланс 8 31.05.2010 19:11
в турбо паскале tanyalove Помощь студентам 12 26.05.2010 20:05
турбо паскале tanyalove Помощь студентам 2 19.05.2010 20:10
турбо паскале tanyalove Паскаль, Turbo Pascal, PascalABC.NET 10 18.05.2010 20:08
в турбо паскале tanyalove Помощь студентам 0 18.05.2010 18:17