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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.11.2010, 21:54   #1
Елена777Алиса
 
Регистрация: 16.11.2010
Сообщений: 8
По умолчанию Паскаль

Помогите пожалуйста... Как нарисовать 2 движущиеся точки, одна из которых догоняет другую и при столкновении программа завершается?
Елена777Алиса вне форума Ответить с цитированием
Старый 16.11.2010, 21:59   #2
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Легко) Задает координату второй точки больше,чем первой например на 50.
И каждый раз перерисовываете экран меня координату первой на 3 второй на 1.
Соответственно как только первая догоняет вторую заканчиваете программу. В общем показывайте что не получается
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 16.11.2010, 22:06   #3
Елена777Алиса
 
Регистрация: 16.11.2010
Сообщений: 8
По умолчанию ...

Спасибо большое сейчас попробую!

Program raketa;
Uses GraphABC,crt;
var x,y,r,a1,a2,cx,cy: integer;
begin
cx:=WindowWidth div 2;
cy:=WindowHeight div 2;
SetPixel(100,200,green);
SetPixel(400,200,red);
end.
Вот это пока я только написала
Елена777Алиса вне форума Ответить с цитированием
Старый 16.11.2010, 22:08   #4
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Здесь две точки только. Нужно организовать цикл, в котором будите изменять координаты. Предлагаю
Код:
while
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 16.11.2010, 22:49   #5
Елена777Алиса
 
Регистрация: 16.11.2010
Сообщений: 8
По умолчанию

Program raketa;
Uses GraphABC,crt;
var x,y,r,a1,a2,cx,cy: integer;
x1,x2,y1,y2: real;
ms: integer;
begin
cx:=WindowWidth div 2;
cy:=WindowHeight div 2;
x1:=200;
y1:=300;
x2:=400;
y2:=300;

while (x1<>x2) do
begin
x1:=x1+1;
x2:=x2-3;
y1:=y1-2;
y2:=y2-2;
SetPixel(round(x1),round(y1),green) ;
SetPixel(round(x2),round(y2),red);
Delay(40);

end;
end.
Получилось=)) Спасибо огромное!!!!

А как сделать, чтобы точки удалялись не оставляя за собой пути?
Елена777Алиса вне форума Ответить с цитированием
Старый 16.11.2010, 22:52   #6
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

В начале цикла перерисовывать экран. Используйте функции ClearDevice или Clrscr из модуля CRT;
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 16.11.2010, 22:56   #7
Елена777Алиса
 
Регистрация: 16.11.2010
Сообщений: 8
По умолчанию ...

Точно, я и забыла. Очень круто! Спасибо Вам за помощь! Очень признательна=)
Всё получилось!=)))
Елена777Алиса вне форума Ответить с цитированием
Старый 16.11.2010, 22:57   #8
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Я рад за вас
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль, Борланд Паскаль-в чем разница??? Vremya-Dengy Паскаль, Turbo Pascal, PascalABC.NET 13 31.05.2011 18:23
Паскаль! kat000 Паскаль, Turbo Pascal, PascalABC.NET 0 15.06.2010 22:28
паскаль werus Помощь студентам 1 20.06.2009 19:13
Из С++ в Паскаль Jondeer Паскаль, Turbo Pascal, PascalABC.NET 3 10.06.2008 12:55