Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчёт. Сысоева А.А. 13504.5.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
137.73 Кб
Скачать

I: integer;

radian: real;

begin

radian:= (360/spic)*(pi/180); { для разделения колеса на равные участки }

{ СПИЦЫ }

setcolor(c2); { цвет }

setlinestyle(4,4,4); { стиль }

for i:= 1 to spic do

begin

line(x2+50,y2,x2+50+round(rad1*cos(ang+i*radian)),

y2-round(rad1*sin(ang+i*radian))); { спицы для 1-ого колеса }

line(x2-45,y2,x2-45+round(rad1*cos(ang+i*radian)),

y2-round(rad1*sin(ang+i*radian))); { спицы для 2-ого колеса }

end;

circle(x2+50, y2, rad1); { 1 колесо }

circle(x2-45, y2, rad1); { 2 колесо }

end;

procedure VelVelo(x,y,r1,r2,r3,n: integer; angvel, angvelp:

real; Velo: VeloT; Wheel: WheelT);

var

dxvel: integer; { изменение скорости }

dangvel,dangvelp: real; { для вращения спиц и педали }

key: char; { для кнопки }

begin

dangvel:= 0;

dangvelp:= 0;

dxvel:= 0;

while true do

begin

{ ИНСТРУКЦИЯ }

outtextxy(200,20,'Start - D');

outtextxy(200,40,'Tormoz - A');

outtextxy(200,60,'Vihod s programi - E');

Wheel.DrawW(r1,n,x,y,0,angvel); { удаляет старый корпус }

Velo.Draw(r2,r3,X,y,0,angvelp); { делает тоже самое }

if x > getmaxX then x:= -20; { условие возвращения вел. в начало экрана }

x:=x + dxvel; { изменение координаты Х }

angvel:= angvel + dangvel; { изменение угла спиц (вращение) }

angvelp:= angvelp + dangvelp; { изменение угла педали (вращение) }

Wheel.DrawW(r1,n,x,y,20,angvel); { рисует 1 - колесо }

Velo.Draw(r2,r3,X,y,20,angvelp); { рисует 2 – корпус, педалька }

{ КНОПОЧКИ }

If keypressed then { условие – кнопка нажата }

begin

key:= readkey;

case key of

'd':

begin

dxvel:=dxvel+(6*r1 div 72);

{ увел. Скорости – передвиж. и вращ. }

dangvel:= dangvel - (pi/72)*(r2/r3);

dangvelp:= dangvelp - (pi/72);

end;

'a':

begin

if (dxvel <> 0) and (dangvel<>0) then

{ только вперёд }

Begin

{ уменьшение скорости и вращения }

dxvel:=dxvel-(6*r1 div 72);

dangvel:= dangvel + (pi/72)*(r2/r3);

dangvelp:= dangvelp + (pi/72);

end;

end;

'e':

begin

halt; { выход – закрывает всё }

end;

end;

end;

delay(30); { пауза }

end;

end;

{ ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ }

var

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]