IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Задача про передвижение в пределах экрана, Turbo Pascal
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 2
Пол: Мужской

Репутация: -  0  +


Народ хэлп!
Нужно в паскале заставить фигуру двигаться в пределах экрана по определенной траектории(траектория показана на рисунке). Как делать передвижение? С помощью циклов или условий? Как сделать, чтобы двигалось в пределах экрана? Две недели мучаюсь ничего не выходит! mega_chok.gif Покопался в темах - толком ничего не нашел. Выручите плиз!!!

p.s. Фигура двигается так: из точки 0,0 по диагонали вниз (45 градусов), как только доходит до низа экрана "отскакивает" вверх, и всегда как только доходит до низа отскакивает вверх. Далее всегда как только доходит до верха опять идет по диагонали до правого предела экрана "отскакивает" и идет по горизонтали до левого предела экрана. После этого опять по диагонали. И так до бесконечности.

Сообщение отредактировано: DeeNR -


Эскизы прикрепленных изображений
Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2





Группа: Пользователи
Сообщений: 2
Пол: Мужской

Репутация: -  0  +


всем кто участвовал в решении этой задачи большое спасибо!!! good.gif

отдельное спасибо klem4!

появилась другая проблема. у меня не получается сделать так, чтобы код(взял код klem4) работал у меня в программе.то идет по диагонали, не "видя" нижнего предела экрана, то вообще не двигается.раньше думал, что проблема в условиях. теперь вроде все правильно, но все равно не работает. mega_chok.gif
Вообщем выкладываю листинг проги(вернее модуля) с которым проблемы. Может кто-нибудь разбереться.


unit ULABRAB;
interface
uses Graph,Crt,UVIDEO,UDIAGRAM;
type

{здесь все работает(убрал для уменьшения объема)}

PMyFigure4=^TMyFigure4;
TMyFigure4=object(TMyFigure3)
private
s:boolean; xf,yf:integer;
public
constructor init(axf,ayf:integer; ar:word; acolor_fig:byte);
procedure moveTraject(at:integer);
procedure dx_dy(dxfig,dyfig:integer); virtual;
end;

implementation
{здесь все работает(убрал для уменьшения объема)}

constructor TMyFigure4.init(axf,ayf:integer; ar:word; acolor_fig:byte);
begin
if (axf<0) or (axf>Video.getXmax) then xf:=(Video.getXmax div 2)
else xf:=axf;
if (ayf<0) or (ayf>Video.getYmax) then yf:=(Video.getYmax div 2)
else yf:=ayf;
inherited init(xf,yf,ar,acolor_fig);
s:=true
end;

procedure TMyFigure4.moveTraject(at:integer);

{здесь расчет передвижения}

procedure TMyFigure4.dx_dy(dxfig,dyfig:integer);
begin
inherited dx_dy(dxfig,dyfig);
end;
end.




поясню: xf,yf - координаты "старта" прорисовки фируры, r - радиус, at - скорость передвижения фигуры. Эти параметры и цвет задает пользователь.

p.s. на всякий случай выкладываю всю прогу.









Прикрепленные файлы
Прикрепленный файл  прога.txt ( 7.96 килобайт ) Кол-во скачиваний: 497
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 24.04.2024 9:48
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name