![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
numb86 |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Репутация: ![]() ![]() ![]() |
Народ помогите пожалуйста надо нарисовать на паскале самолет летящий по синусоиде!
Сообщение отредактировано: numb86 - |
мисс_граффити |
![]()
Сообщение
#2
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Сам что-то пробовал?
-------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
numb86 |
![]()
Сообщение
#3
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Репутация: ![]() ![]() ![]() |
да но у меня пока он только по диагонале летит
|
мисс_граффити |
![]()
Сообщение
#4
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
выкладывай код.
-------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
numb86 |
![]()
Сообщение
#5
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Репутация: ![]() ![]() ![]() |
Код uses Graph,crt; var driver,mode,x,y,i:integer; procedure samolet; begin linerel(30,0); linerel(-10,-10); linerel(0,-20); linerel(30,0); linerel(-30,-15); linerel(0,-15); linerel(-5,-5); linerel(-5,5); linerel(0,15); linerel(-30,15); linerel(30,0); linerel(0,20); linerel(-10,10); end; begin driver:=detect; mode:=detect; initgraph(driver,mode,'c:\bp\bgi'); moveto(400,280); for i:=1 to 200 do begin moverel(1,1); setcolor(3); samolet; Delay(3000); setcolor(0); samolet; end; readln; end. Сообщение отредактировано: volvo - |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Чтобы ОНО "летело" по синусоиде - не привязывайся к текущим координатам... Сделай вывод самолета относительно какой-то точки:
procedure samolet(X, Y: integer);
begin
moveto(X, Y);
linerel(30,0);
linerel(-10,-10);
linerel(0,-20);
linerel(30,0);
linerel(-30,-15);
linerel(0,-15);
linerel(-5,-5);
linerel(-5,5);
linerel(0,15);
linerel(-30,15);
linerel(30,0);
linerel(0,20);
linerel(-10,10);
end;
теперь, если ты в основном цикле будешь присваивать X и Y значения, которые образуют синусоиду, и передавать их в процедуру - то и самолет твой будет тоже лететь по синусоиде... Как-то так: for X:=1 to 200 do begin
Y := (GetMaxY div 2) + Trunc(100 * sin(X * (Pi/200)));
setcolor(3); samolet(X, Y);
Delay(3000);
setcolor(0); samolet(X, Y);
end;
(не тестировал, но работать вроде как должно...) |
numb86 |
![]()
Сообщение
#7
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Репутация: ![]() ![]() ![]() |
спасибо большое попробую так сделать.
|
numb86 |
![]()
Сообщение
#8
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Репутация: ![]() ![]() ![]() |
А можно еще кое что спросить.Как нибудь возможно сделать так чтобы самолет во время движения менял положение в пространстве в зависимости от места синусоиды(чтобы само изображение самолета меняло угол наклона)?
|
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
Цитата чтобы само изображение самолета меняло угол наклона тебе надо передавать текущее положение самолета на оси OX (а если ты сделал так, как я тебе предлагал - у тебя весь путь по OX будет соответствовать 180 градусам, т.е. одному периоду синусоиды) в процедуру отрисовки, и в зависимости от него рисовать самолет с заданным наклоном (используя Sin/Cos, а не только Line) |
numb86 |
![]()
Сообщение
#10
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Репутация: ![]() ![]() ![]() |
А нельзя ли примерчик хотя бы насчет одной линии а то уменя чтото не получается.
|
![]() ![]() |
![]() |
Текстовая версия | 15.04.2025 15:58 |