1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Анимацыя в паскале, Есть человечек, задача в том, что он должен двигать руками и ногами. П
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.
Добавлено: Покажите хотябы как сдвинуть одну линию!!!
Во-первых, ты лучше сначала рисуй, потом жди, а потом стирай. Это означает, что ты должен сначала использовать белый цвет, а потом черный. Проверь результат, прежде чем читать дальше..
Проверил? Теперь совет: вставь параметры в процедуру Man, чтоб можно было рисовать человека в любом месте экрана. Публикую внизу модифицированную мной программу - разберись, как она работает, и приходи за вопросами дальше..
program Man; uses Graph,crt{,ZVUK}; var driver,mode,x,y,i,XMan,YMan,dX,dY,b:integer;
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.
--------------------
я - ветер, я северный холодный ветер я час расставанья, я год возвращенья домой