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

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

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

 
 Ответить  Открыть новую тему 
> Анимацыя в паскале, Есть человечек, задача в том, что он должен двигать руками и ногами. П
сообщение
Сообщение #1





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

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


program Man;
uses Graph,crt,ZVUK;
var
driver,mode,x,y,i:integer;
procedure Chelovek;
begin
circle(315,100,20);
line(315,120,315,230);
line(315,230,215,330);
line(315,230,415,330);
line(315,120,215,220);
line(315,120,415,220);
end;
begin
driver:=detect;
mode:=detect;
initgraph(driver,mode,'C:\tp7');
for i:=1 to 10000 do
begin
setcolor(0);
Chelovek;
Delay(100);
setcolor(white);
Chelovek;
end;
readln;
end.


Добавлено:
Покажите хотябы как сдвинуть одну линию!!!
М
Используй теги! Lapp

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


1. нарисовал линию каким-то цветом
2. нарисовал такую же линию (с теми же координатами) цвета фона
3. нарисовал цветную линию в новом месте.

только все будет происходить очень быстро, ты не успеешь заметить. поэтому между описанными операциями вставь delay(n), где n - время задержки.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





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

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


Цитата(мисс_граффити @ 22.11.2006 1:18) *

1. нарисовал линию каким-то цветом
2. нарисовал такую же линию (с теми же координатами) цвета фона
3. нарисовал цветную линию в новом месте.

только все будет происходить очень быстро, ты не успеешь заметить. поэтому между описанными операциями вставь delay(n), где n - время задержки.


Только рисовать надо не в процедуре???
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4





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

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


Цитата(potay @ 22.11.2006 1:39) *

Только рисовать надо не в процедуре???

Ну всмысле писать??? blink.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Во-первых, ты лучше сначала рисуй, потом жди, а потом стирай. Это означает, что ты должен сначала использовать белый цвет, а потом черный. Проверь результат, прежде чем читать дальше..

Проверил? Теперь совет: вставь параметры в процедуру Man, чтоб можно было рисовать человека в любом месте экрана. Публикую внизу модифицированную мной программу - разберись, как она работает, и приходи за вопросами дальше..
program Man;
uses Graph,crt{,ZVUK};
var
driver,mode,x,y,i,XMan,YMan,dX,dY,b:integer;

procedure Chelovek(x,y:integer);
begin
circle(x,y,20);
line(x,y+20 ,x ,y+130);
line(x,y+130,x-100,y+230);
line(x,y+130,x+100,y+230);
line(x,y+20 ,x-100,y+120);
line(x,y+20 ,x+100,y+120);
end;

begin
driver:=detect;
mode:=detect;
initgraph(driver,mode,'C:\tp7');
XMan:=GetMaxX div 3;
YMan:=GetMaxy div 2;
dX:=1;
dY:=1;
b:=GetMaxX div 6;
for i:=1 to 10000 do begin
setcolor(White);
Chelovek(XMan,YMan);
Delay(10);
setcolor(Black);
Chelovek(XMan,YMan);
XMan:=XMan+dX;
if (XMan>=GetMaxX-b)or(XMan<=b) then dX:=-dX;
YMan:=YMan+dY;
if (YMan>=GetMaxY-b)or(YMan<=b) then dY:=-dY;
end;
readln;
end.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6





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

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


Вышло у тя неплохо, но мне надо чтобы он ноги роздвигал и здвигал, тоже самое и с руками.
Вот чтото похожое!!


program Man;
uses Graph,crt,ZVUK;
var
driver,mode,x,y,i:integer;
procedure Chelovek;
begin
circle(315,100,20);
line(315,120,315,230);
line(315,230,215,330);
line(315,230,415,330);
line(315,120,215,220);
line(315,120,415,220);
line(315,120,215,90);
line(315,120,415,90);
line(315,230,215,290);
line(315,230,415,290);
setcolor(0);
line(315,230,215,330);
line(315,230,415,330);
line(315,120,215,220);
line(315,120,415,220);
line(315,120,215,90);
line(315,120,415,90);
line(315,230,215,290);
line(315,230,415,290);
end;
begin
initgraph(driver,mode,'C:\tp7');
for i:=1 to 200 do
begin
setcolor(3);
Chelovek;
Delay(3000);
setcolor(0);
Chelovek;
end;
readln;
end.


М
Про теги еще раз напомнить? Что, тебе кнопка "Изменить" недоступна?
volvo

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(potay @ 22.11.2006 8:59) *

Вышло у тя неплохо, но мне надо чтобы он ноги роздвигал и здвигал, тоже самое и с руками.
Вот чтото похожое!!

Уважаемый, я не говорил, что решаю твою задачу. Тебе был продемонстрирован принцип, а также удобный способ его реализации. Если тебе надо двигать руки-ноги - рекомендую, сделай процедуру, для их рисования с параметром (скажем, угол наклона), а потом
рисуй-жди-стирай-двигай-рисуй-жди-стирай-двигай...

Ты что - думал, что я его двигал, чтоб повеселить тебя? Совсем ничего не уяснил?.. Важен принцип. И его ты проигнорировал, как следует из того, что ты сделал..

Добавляю чуть позже.
Приведу аналогию.
Допустим, ты мастер игрушек (обычных, не компьютерных). К тебе приходит кто-то и говорит:
- Я вот сделал человека, теперь его надо научить двигать руками-ногами. Помоги мне.
И показывает фигурку из цельного куска дерева..
Что скажет мастер? Эту фигурку надо выбросить и сделать все иначе. Отдельно сделать руки и ноги, при этом оставить место, где их наложить и скрепить осями.
Верно ведь?.. smile.gif


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8





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

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


Понял, буду исправлятса! yes2.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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