1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
| DeeNR |
10.05.2007 14:09
Сообщение
#1
|
|
Группа: Пользователи Сообщений: 2 Пол: Мужской Репутация: 0 |
Народ хэлп!
Нужно в паскале заставить фигуру двигаться в пределах экрана по определенной траектории(траектория показана на рисунке). Как делать передвижение? С помощью циклов или условий? Как сделать, чтобы двигалось в пределах экрана? Две недели мучаюсь ничего не выходит! p.s. Фигура двигается так: из точки 0,0 по диагонали вниз (45 градусов), как только доходит до низа экрана "отскакивает" вверх, и всегда как только доходит до низа отскакивает вверх. Далее всегда как только доходит до верха опять идет по диагонали до правого предела экрана "отскакивает" и идет по горизонтали до левого предела экрана. После этого опять по диагонали. И так до бесконечности. Сообщение отредактировано: DeeNR - 10.05.2007 15:14 Эскизы прикрепленных изображений |
| klem4 |
10.05.2007 17:29
Сообщение
#2
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
uses crt,graph; -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
| Sto |
10.05.2007 18:46
Сообщение
#3
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 70 Пол: Мужской Реальное имя: Илья Репутация: 2 |
Вот программа которая показывает на примере движения окружности как реализовать движение в пределах экрана.
Uses |
| klem4 |
10.05.2007 18:48
Сообщение
#4
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Sto
Ты картинку присоединенную видел ? Может пора начинать нормально читать все условия задачи ? В моем варианте осталось заменить putpixel на отрисовку нужного объекта Сообщение отредактировано: klem4 - 10.05.2007 18:49 -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
| Sto |
10.05.2007 18:54
Сообщение
#5
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 70 Пол: Мужской Реальное имя: Илья Репутация: 2 |
klem4
Конечно видел. Я показал как сделать чтобы фигура отбивалась от границ экрана, а не решенную программу. Недумаю что изменить траэкторию будет огромной проблемой. Сообщение отредактировано: Sto - 10.05.2007 18:55 |
| volvo |
10.05.2007 19:02
Сообщение
#6
|
|
Гость |
Цитата Недумаю что изменить траэкторию будет огромной проблемой. Тогда почему бы не написать, скажем:var gd, gm: integer;F что, я же показал, как инициализировать графику. Что, добавление траектории - проблема? Я даже показал, где надо добавлять... Вот ты, Sto, хотел бы получить подобный ответ? А теперь будешь получать, это я тебе обещаю... |
| Sto |
10.05.2007 19:05
Сообщение
#7
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 70 Пол: Мужской Реальное имя: Илья Репутация: 2 |
Народ хэлп! Нужно в паскале заставить фигуру двигаться в пределах экрана по определенной траектории(траектория показана на рисунке). Как делать передвижение? С помощью циклов или условий? Как сделать, чтобы двигалось в пределах экрана? Две недели мучаюсь ничего не выходит! p.s. Фигура двигается так: из точки 0,0 по диагонали вниз (45 градусов), как только доходит до низа экрана "отскакивает" вверх, и всегда как только доходит до низа отскакивает вверх. Далее всегда как только доходит до верха опять идет по диагонали до правого предела экрана "отскакивает" и идет по горизонтали до левого предела экрана. После этого опять по диагонали. И так до бесконечности. Я дал ответы на эти вопросы? |
| klem4 |
10.05.2007 19:19
Сообщение
#8
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Только ты чуть-чуть упустил вот это : p.s. Фигура двигается так: из точки 0,0 по диагонали вниз (45 градусов), как только доходит до низа экрана "отскакивает" вверх, и всегда как только доходит до низа отскакивает вверх. Далее всегда как только доходит до верха опять идет по диагонали до правого предела экрана "отскакивает" и идет по горизонтали до левого предела экрана. После этого опять по диагонали. И так до бесконечности.
Настоятельно рекомендую тебе прекратить этот бессмысленный флуд. А в следующий раз думать прежде чем что-то отвечать. -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
| Чужак |
10.05.2007 21:42
Сообщение
#9
|
![]() меркантильный ![]() ![]() ![]() Группа: Пользователи Сообщений: 161 Пол: Мужской Репутация: 6 |
Народ хэлп! Нужно в паскале заставить фигуру двигаться в пределах экрана по определенной траектории(траектория показана на рисунке). Как делать передвижение? С помощью циклов или условий? Как сделать, чтобы двигалось в пределах экрана? Две недели мучаюсь ничего не выходит! Порробуй вот такой код. Не для этой задачи, но для похожих. Переделать под твою не сложно-просто чуть измени логику, убери часть значений пременной Napr, введи нужные тебе координаты... program Sharik; Да, и сделать движение вверх, вниз, вправо, влево здесь не сложно, меняй не сразу X и Y, а только X или только Y (X+1, Y+1, X-1, Y-1). Понятно, как? Сообщение отредактировано: Чужак - 10.05.2007 21:48 -------------------- Смысл откроется тебе. Красками играя
Жизнь предстанет как поток без конца и края. В этом мире порой разбиваютсямечты Но чтобы он стал другой Вдруг в него приходишь ТЫ... После странствий и скитаний настают другие времена. Старая волна уходит и приходит новая волна. |
| klem4 |
10.05.2007 22:03
Сообщение
#10
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
оффтоп
Внимание ! в этой теме проводится конкурс: "Кто выложит решение максимально отдаленное от того что требуется в задании получает -2 в рейтинг !" Поехали ! -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
| Чужак |
11.05.2007 21:21
Сообщение
#11
|
![]() меркантильный ![]() ![]() ![]() Группа: Пользователи Сообщений: 161 Пол: Мужской Репутация: 6 |
оффтоп Не в тему твой оффтоп. Ты надеюсь не пользуешься нелицезионным ПО? В любом случае тебе нужно срочно апгейтиться. Поставь на свой компьютер лицензионные программы "OffTopMaster 6", "ФлеймМАстер" (лучше лаборатории Рогатого-бока порет поменьше, а косорезит примерно, как у тебя) и "FloodExpert"(версия 1.6) компании "Bla Bla Bla Techocom Inc. (USA)". Их вместе с деньгами можно скачать с сайта www.nagimaesh_ety_ssilky_polyshaesh_lesopilky.vru. Сообщение отредактировано: Чужак - 11.05.2007 21:43 -------------------- Смысл откроется тебе. Красками играя
Жизнь предстанет как поток без конца и края. В этом мире порой разбиваютсямечты Но чтобы он стал другой Вдруг в него приходишь ТЫ... После странствий и скитаний настают другие времена. Старая волна уходит и приходит новая волна. |
| DeeNR |
12.05.2007 10:16
Сообщение
#12
|
|
Группа: Пользователи Сообщений: 2 Пол: Мужской Репутация: 0 |
всем кто участвовал в решении этой задачи большое спасибо!!!
отдельное спасибо klem4! появилась другая проблема. у меня не получается сделать так, чтобы код(взял код klem4) работал у меня в программе.то идет по диагонали, не "видя" нижнего предела экрана, то вообще не двигается.раньше думал, что проблема в условиях. теперь вроде все правильно, но все равно не работает. Вообщем выкладываю листинг проги(вернее модуля) с которым проблемы. Может кто-нибудь разбереться.
поясню: xf,yf - координаты "старта" прорисовки фируры, r - радиус, at - скорость передвижения фигуры. Эти параметры и цвет задает пользователь. p.s. на всякий случай выкладываю всю прогу. Прикрепленные файлы
прога.txt ( 7.96 килобайт )
Кол-во скачиваний: 299 |
| Sto |
12.05.2007 14:31
Сообщение
#13
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 70 Пол: Мужской Реальное имя: Илья Репутация: 2 |
Можеш посмотреть как на примере окружности можно сделать движение по заданой тобой траэктории.
Uses Код не сложный думаю сможеш разобратся, если возникнут вопросы спрашивай. |
![]() ![]() |
|
Текстовая версия | 8.12.2025 23:29 |