1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Задача про передвижение в пределах экрана, Turbo Pascal
Народ хэлп! Нужно в паскале заставить фигуру двигаться в пределах экрана по определенной траектории(траектория показана на рисунке). Как делать передвижение? С помощью циклов или условий? Как сделать, чтобы двигалось в пределах экрана? Две недели мучаюсь ничего не выходит! Покопался в темах - толком ничего не нашел. Выручите плиз!!!
p.s. Фигура двигается так: из точки 0,0 по диагонали вниз (45 градусов), как только доходит до низа экрана "отскакивает" вверх, и всегда как только доходит до низа отскакивает вверх. Далее всегда как только доходит до верха опять идет по диагонали до правого предела экрана "отскакивает" и идет по горизонтали до левого предела экрана. После этого опять по диагонали. И так до бесконечности.
Народ хэлп! Нужно в паскале заставить фигуру двигаться в пределах экрана по определенной траектории(траектория показана на рисунке). Как делать передвижение? С помощью циклов или условий? Как сделать, чтобы двигалось в пределах экрана? Две недели мучаюсь ничего не выходит! Покопался в темах - толком ничего не нашел. Выручите плиз!!
Порробуй вот такой код. Не для этой задачи, но для похожих. Переделать под твою не сложно-просто чуть измени логику, убери часть значений пременной Napr, введи нужные тебе координаты...
program Sharik; uses graph,crt; var Gd, Gm, X, Y, R: Integer; Napr: string; begin Gd := Detect; InitGraph(Gd, Gm, ' '); X:=320; Y:=240; R:=10; Napr:='NP'; repeat setcolor(15); Line(20, 40,20, 440); Line(20,40,620,40); Line(620,40,620,440); Line(620,440,20,440); Circle(X,Y,R); delay(500); setcolor(0); Circle(X,Y,R); if Napr='VP' then begin X:=X+1; Y:=Y-1; end; if Napr='NP' then begin X:=X+1; Y:=Y+1; end; if Napr='NL' then begin X:=X-1; Y:=Y+1; end; if Napr='VL' then begin X:=X-1; Y:=Y-1; end; if Y=40 then begin if Napr='VP' then Napr:='NP'; if Napr='VL' then Napr:='NL'; end; if X=620 then begin if Napr='VP' then Napr:='VL'; if Napr='NP' then Napr:='NL'; end; if Y=440 then begin if Napr='NP' then Napr:='VP'; if Napr='NL' then Napr:='VL'; end; if X=20 then begin if Napr='VL' then Napr:='VP'; if Napr='NL' then Napr:='NP'; end; until keypressed; CloseGraph end.
Да, и сделать движение вверх, вниз, вправо, влево здесь не сложно, меняй не сразу X и Y, а только X или только Y (X+1, Y+1, X-1, Y-1). Понятно, как?
Сообщение отредактировано: Чужак -
--------------------
Смысл откроется тебе. Красками играя Жизнь предстанет как поток без конца и края.
В этом мире поройразбиваютсямечты Но чтобы он стал другойВдруг в него приходишь ТЫ...
После странствий и скитаний настают другие времена. Старая волна уходит и приходит новая волна.