|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
16.04.2014, 22:36 | #1 (permalink) |
Member
Регистрация: 02.03.2014
Сообщений: 32
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Турбо Паскаль. Задание на анимацию
|
16.04.2014, 22:36 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
На форуме можно найти похожие топики, помогу вам в этом Турбо Паскаль. Тип запись Турбо Паскаль. Рекурсии Программа в Турбо-Паскаль 7,0 Задание Паскаль |
17.04.2014, 21:31 | #5 (permalink) |
Member
Регистрация: 02.03.2014
Сообщений: 32
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
ну как бы объяснить... нужна анимация движения обычной гармошки))
как то так: только строго по горизонтали, без колебаний вверх-вниз) |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
18.04.2014, 09:48 | #6 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
1. Графика - Borland. 2. Инициализацию графического режима (задание параметров функции InitGraph) делаете самостоятельно: у меня она настроена под мою систему и графика инициализируется через использование написанного мною спец. модуля, который у Вас работать не будет. Если что-то из этого не устроит, напишите. |
|
18.04.2014, 23:38 | #7 (permalink) |
Member
Регистрация: 02.03.2014
Сообщений: 32
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
я не очень поняла про задание параметров функции,так как раньше не имела дела с графическим модулем. следовательно,не очень представляю как это сделать. но если не очень сложно - постараюсь понять
|
19.04.2014, 08:28 | #8 (permalink) |
Хозяин Медной Горы
Регистрация: 01.08.2011
Адрес: Армавир
Сообщений: 12,159
Записей в дневнике: 8
Сказал(а) спасибо: 751
Поблагодарили 88 раз(а) в 27 сообщениях
Репутация: 57416
|
Стандартная процедура инициализации графики описана в справке среды разработки.
На всякий случай привожу здесь (вдруг вам лень искать) Код:
Uses Graph; Var grDriver : Integer; grMode : Integer; ErrCode : Integer; Begin grDriver:=Detect; InitGraph(grDriver, grMode, ''); ErrCode:=GraphResult; If ErrCode = grOk Then Begin { Графика } Line(0, 0, GetMaxX, GetMaxY); ReadLn; CloseGraph; End Else WriteLn('Ошибка инициализации графики:', GraphErrorMsg(ErrCode)); End. |
20.04.2014, 10:38 | #10 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Ладно, в любом случае раз обещал - сделал. Будем исходить из того, что выложенная Давидом тестовая программка работает, и сделаем инициализацию, как там: Код:
Uses CRT, Graph; Var X0,Y0,StepX:Word; grDriver : Integer; grMode : Integer; Procedure Garm(Step:Word); var i:byte; begin SetLineStyle(SolidLn,0,ThickWidth); Line(X0,Y0-40,X0,Y0+40); for i:=1 to 8 do begin Line(X0-Step*2*i,Y0-40,X0-Step*2*i,Y0+40); Line(X0+Step*2*i,Y0-40,X0+Step*2*i,Y0+40); end; SetLineStyle(SolidLn,0,NormWidth); for i:=1 to 8 do begin Line(X0-Step*(2*i-1),Y0-30,X0-Step*(2*i-1),Y0+30); Line(X0+Step*(2*i-1),Y0-30,X0+Step*(2*i-1),Y0+30); end; MoveTo(X0,Y0-40); for i:=1 to 8 do begin LineTo(X0-step*(2*i-1),Y0-30); LineTo(X0-step*2*i,Y0-40); end; MoveTo(X0,Y0+40); for i:=1 to 8 do begin LineTo(X0-step*(2*i-1),Y0+30); LineTo(X0-step*2*i,Y0+40); end; MoveTo(X0,Y0-40); for i:=1 to 8 do begin LineTo(X0+step*(2*i-1),Y0-30); LineTo(X0+step*2*i,Y0-40); end; MoveTo(X0,Y0+40); for i:=1 to 8 do begin LineTo(X0+step*(2*i-1),Y0+30); LineTo(X0+step*2*i,Y0+40); end; end; Procedure Left(Step:Word); begin SetLineStyle(SolidLn,0,ThickWidth); Rectangle(X0-16*Step,Y0-40,X0-16*Step-35,Y0+40); Line(X0-16*Step-20,Y0-40,X0-16*Step-20,Y0+40); end; Procedure Right(Step:Word); begin SetLineStyle(SolidLn,0,ThickWidth); Rectangle(X0+16*Step,Y0-40,X0+16*Step+20,Y0+40); end; Function LeftBorder(Step:Word):Boolean; begin LeftBorder:=X0-16*Step-35>0; end; Begin grDriver:=Detect; InitGraph(grDriver, grMode, ''); X0:=GetMaxX div 2; Y0:=GetMaxY div 2; StepX:=4; ClearDevice; Garm(StepX); Left(StepX); Right(StepX); SetTextJustify(CenterText,BottomText); OutTextXY(X0,Y0*2-20,'Press any key to start...'); ReadKey; Repeat StepX:=4; repeat StepX:=StepX+1; If LeftBorder(StepX) then begin ClearDevice; Garm(StepX); Left(StepX); Right(StepX); OutTextXY(X0,Y0*2-20,'Press any key to stop...'); Delay(100); end; until Not(LeftBorder(StepX)) or KeyPressed; repeat StepX:=StepX-1; If StepX>3 then begin ClearDevice; Garm(StepX); Left(StepX); Right(StepX); OutTextXY(X0,Y0*2-20,'Press any key to stop...'); Delay(100); end; until (StepX=3) or KeyPressed; Until KeyPressed; ReadKey; CloseGraph; End. |
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|