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