Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2016, 03:26   #1
Ktoto2
 
Регистрация: 22.12.2016
Сообщений: 9
По умолчанию Присвоить движение объекта к готовой программе

Доброго вечера всем!)
Помогите пожалуйста присвоить клавишу w,s - вперед, назад(что-бы шар крутился вперед либо назад) и m,n - масштаб(что-бы шар изменял свой размер), буду очень благодарен, сам шаманю никак не получается, спасибо
Код HTML:
Uses Graph, Crt;
Const
     RadOrb = 250; RadSun = 70;
     RadGal = 100; RadZem = 18;
     Naklon = 0.2;
     PressZem = 0.65;
     Compress = 0.8;
Var
     LunX, LunY, UgMer, PixelY, DUgLuna , UpDown,
     XRad, Grad, UgZem, PixelX, StAngle, Ua, Ub,
     ParallelY , Color, LunPix, EndAngle,
     VisualPage, GrMode, GrError, GrDriver, i : Integer;
     Ugol, CompressLuna, Expansion,
     DUgol, Projection, PolUgol : Real;
BEGIN
   GrDriver := EGA; GrMode := EGAHi;
   InitGraph(GrDriver, GrMode, 'C:\TP\BGI');
   GrError := GraphResult; If GrError<>GrOk then Halt;
 
      SetBkColor(0);
      SetFillStyle(1, 2);
      Ugol := 0; DUgol := 2*Pi/180;
      UgZem := 0; DUgLuna := 14;
     VisualPage := 1;
     Repeat
     SetVisualPage(1- (VisualPage mod 2));
     VisualPage := VisualPage+1;
     SetActivePage(1 - (VisualPage mod 2));
     cleardevice;
 
PieSlice(310, 160, 0, 360, RadSun);
 
Ugol := Ugol+DUgol ; 
Grad := Round(180*Ugol/Pi) mod 360; 
LunX := 320+Round(RadOrb*cos((Ugol+Pi/2+0.3)));
LunY:=160+Round(RadOrb*Naklon*sin(Ugol)); 
CompressLuna := 2.5-cos(Ugol+0.3);
LunPix := Round(RadZem*CompressLuna); 
UgZem := UgZem+DUgLuna; 
For i := 0 to 11 do 
begin
UgMer := (UgZem+i*30) mod 360;
If (90<UgMer) and (UgMer<270) 
then begin StAngle := 90; EndAngle := 270 end 
else begin StAngle := 270; EndAngle := 90 end; 
Ua := (Grad+220) mod 360; Ub := (Grad+400) mod 360;
Color := LightBlue;
If Ua<=Ub then if (Ua<UgMer) and (UgMer<Ub) then Color := White;
If Ua >Ub then if (Ua<UgMer) or (UgMer<Ub) then Color := White;
SetColor(color);
XRad := round((LunPix*cos(UgMer*Pi/180))); 
Ellipse(LunX,LunY,StAngle,EndAngle,abs(XRad),round(PressZem*LunPix));
end;
For i := 2 to 7 do 
begin
XRad := abs(Round(LunPix*sin(i*Pi/9)));
UpDown := Round(LunPix*PressZem*cos(i*Pi/9));
ParallelY := LunY+UpDown; 
SetColor(LightBlue);
Ellipse(LunX, ParallelY, 0, 360, XRad, Round(Naklon*XRad));
setcolor(15);
Ellipse(LunX,ParallelY,Grad+220,Grad+400,XRad,Round(Naklon*XRad));
end;
If CompressLuna<2 then PieSlice(310, 160, 0, 360, RadSun);
RandSeed := VisualPage mod 12;
until KeyPressed 
END.

Последний раз редактировалось Ktoto2; 22.12.2016 в 03:38.
Ktoto2 вне форума Ответить с цитированием
Старый 22.12.2016, 08:57   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,304
По умолчанию

Во вложении фрагмент кода, в котором анализируется нажатие клавиш и выполняются необходимые изменения параметров. Это из моих лаб.
В этом коде выполняется анализ нажатия как функциональных клавиш, так и обычных.
Думаю, что разобраться будет просто.

PS: Больше ясности, возможно, найдешь в пособии:
Т.А. Павловская, Паскаль, Программирование на ЯВУ, Практикум
Этим пособием пользовался с удовольствием.
У этого автора есть и учебник, см. список литературы.


Как-то так, ...
Вложения
Тип файла: txt Fragment.txt (1.8 Кб, 133 просмотров)
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 22.12.2016, 18:49   #3
Ktoto2
 
Регистрация: 22.12.2016
Сообщений: 9
По умолчанию

Спасибо друг!
Ktoto2 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Составить Алгоритм по готовой программе. Делфи Bracho1994 Помощь студентам 0 21.05.2013 23:28
Помгите написать комментарии к готовой программе! Stasy_BMT Помощь студентам 0 06.06.2012 22:02
Нужны блок схемы по готовой программе. Profan4ik Помощь студентам 4 01.07.2010 09:00
Нужна блок схема к готовой программе. BioVis Фриланс 8 11.05.2009 18:03