Напишите, пожалуйста, программку по которой в pascal будет выводиться анимация перекрестка,
Напишите, пожалуйста, программку по которой в pascal будет выводиться анимация перекрестка, по которому проезжают две машины, одна из которых останавливается на светофоре, и когда зажигается зеленоватый свет, она проезжает далее. CРОЧНО!!!
Задать свой вопрос
Амелия Какучая
Можно обычный сделать ,если красноватый то едет 1-ая машина бесли зеленоватый 2-ая
Вера Пташникова
Еще можете сделать чтобы можно было задавать скорости машин
Михон Крыжанский
Вначале, либо во время движения?
Колокольчикова
Амина
вначале
Егор Авакимян
Сколько для вас осталось?
Regina Lazarko
Минут 5-20
Ilja Grigorashhenko
uses GraphABC;Varx,y:integer;C:word;BeginLockDrawing;RepeatClearWindow;Case (C div 300) mod 3 of0:SetBrushColor(clGreen);1:SetBrushColor(clYellow);2:SetBrushColor(clRed);End;Circle(-30+(WindowWidth div 2),-40+(WindowHeight div 2),10);Case (C div 300) mod 3 of2:SetBrushColor(clGreen);1:SetBrushColor(clYellow);0:SetBrushColor(clRed);End;Circle(-40+(WindowWidth div 2),30+(WindowHeight div 2),10);if C<65535 then C:=C+1else C:=0;
Ксения Залазная
SetBrushColor(clMedGray);FillRect(0,20+(WindowHeight div 2),WindowWidth,-20+(WindowHeight div 2));FillRect(20+(WindowWidth div 2),0,-20+(WindowWidth div 2),WindowHeight);SetBrushColor(clGreen);FillRect(-13+(WindowWidth div 2),-40+y,13+(WindowWidth div 2),y);if ((x<(WindowWidth div 2)-20)or(x-40>=(WindowWidth div 2)+20)) then x:=x+1else if (C div 85) mod 3 = 0 then if (y-40>=20+(WindowHeight div 2))or(y<=(WindowHeight div 2)-20) then x:=x+1;
Стефания Киулова
if x>=WindowWidth+40 then x:=0;SetBrushColor(clRed);FillRect(-40+x,13+(WindowHeight div 2),x,-13+(WindowHeight div 2));if (y<(WindowHeight div 2)-20)or(y-40>=(WindowHeight div 2)+20) then y:=y+1else if (C div 85) mod 3 = 2 then if (x-40>=20+(WindowWidth div 2))or(x<=(WindowWidth div 2)-20) then y:=y+1;if y>=WindowHeight+40 then y:=0;RedrawUntil false;End.
Регина Сурбанос
Программа глючная, и очевидно какое-то условие излишнее, а так как машины и на жёлтый выехать могут, то какого-то не хватает.
1 ответ
Данил Коваль-Сиромолот
Код PascalABC 3.0
uses GraphABC, Crt;
Var
x,y,t,v1,v2:integer;
C:word;
Begin
Write('Введите время работы светофора: ');
ReadLn(t);
Write('Введите скорость зелёной машины: ');
ReadLn(v1);
Write('Введите скорость красноватой машины: ');
ReadLn(v2);
LockDrawing;
Repeat
ClearWindow;
Case (C div t) mod 3 of
0:SetBrushColor(clGreen);
1:SetBrushColor(clYellow);
2:SetBrushColor(clRed);
End;
Circle(-30+(WindowWidth div 2),-40+(WindowHeight div 2),10);
Case (C div t) mod 3 of
2:SetBrushColor(clGreen);
1:SetBrushColor(clYellow);
0:SetBrushColor(clRed);
End;
Circle(-40+(WindowWidth div 2),30+(WindowHeight div 2),10);
if Clt;65535 then C:=C+1
else C:=0;
SetBrushColor(clMedGray);
FillRect(0,20+(WindowHeight div 2),WindowWidth,-20+(WindowHeight div 2));
FillRect(20+(WindowWidth div 2),0,-20+(WindowWidth div 2),WindowHeight);
SetBrushColor(clGreen);
FillRect(-13+(WindowWidth div 2),-40+y,13+(WindowWidth div 2),y);
if ((x+v1lt;=(WindowWidth div 2)-20)or(x-40gt;=(WindowWidth div 2)+20)) then x:=x+v1
else
Begin
if ((y-40gt;=20+(WindowHeight div 2))or(ylt;=(WindowHeight div 2)-20)) then
Begin
if ((C div t) mod 3 = 2)or(xgt;(WindowWidth div 2)-20) then x:=x+v1
End
End;
if xgt;=WindowWidth+40 then x:=0;
SetBrushColor(clRed);
FillRect(-40+x,13+(WindowHeight div 2),x,-13+(WindowHeight div 2));
if (y+v2lt;=(WindowHeight div 2)-20)or(y-40gt;=(WindowHeight div 2)+20) then y:=y+v2
else
Begin
if (x-40gt;=20+(WindowWidth div 2))or(xlt;=(WindowWidth div 2)-20) then
Begin
if ((C div t) mod 3 = 0)or(ygt;(WindowHeight div 2)-20) then y:=y+v2
End
End;
if ygt;=WindowHeight+40 then y:=0;
Redraw
Until false;
End.
uses GraphABC, Crt;
Var
x,y,t,v1,v2:integer;
C:word;
Begin
Write('Введите время работы светофора: ');
ReadLn(t);
Write('Введите скорость зелёной машины: ');
ReadLn(v1);
Write('Введите скорость красноватой машины: ');
ReadLn(v2);
LockDrawing;
Repeat
ClearWindow;
Case (C div t) mod 3 of
0:SetBrushColor(clGreen);
1:SetBrushColor(clYellow);
2:SetBrushColor(clRed);
End;
Circle(-30+(WindowWidth div 2),-40+(WindowHeight div 2),10);
Case (C div t) mod 3 of
2:SetBrushColor(clGreen);
1:SetBrushColor(clYellow);
0:SetBrushColor(clRed);
End;
Circle(-40+(WindowWidth div 2),30+(WindowHeight div 2),10);
if Clt;65535 then C:=C+1
else C:=0;
SetBrushColor(clMedGray);
FillRect(0,20+(WindowHeight div 2),WindowWidth,-20+(WindowHeight div 2));
FillRect(20+(WindowWidth div 2),0,-20+(WindowWidth div 2),WindowHeight);
SetBrushColor(clGreen);
FillRect(-13+(WindowWidth div 2),-40+y,13+(WindowWidth div 2),y);
if ((x+v1lt;=(WindowWidth div 2)-20)or(x-40gt;=(WindowWidth div 2)+20)) then x:=x+v1
else
Begin
if ((y-40gt;=20+(WindowHeight div 2))or(ylt;=(WindowHeight div 2)-20)) then
Begin
if ((C div t) mod 3 = 2)or(xgt;(WindowWidth div 2)-20) then x:=x+v1
End
End;
if xgt;=WindowWidth+40 then x:=0;
SetBrushColor(clRed);
FillRect(-40+x,13+(WindowHeight div 2),x,-13+(WindowHeight div 2));
if (y+v2lt;=(WindowHeight div 2)-20)or(y-40gt;=(WindowHeight div 2)+20) then y:=y+v2
else
Begin
if (x-40gt;=20+(WindowWidth div 2))or(xlt;=(WindowWidth div 2)-20) then
Begin
if ((C div t) mod 3 = 0)or(ygt;(WindowHeight div 2)-20) then y:=y+v2
End
End;
if ygt;=WindowHeight+40 then y:=0;
Redraw
Until false;
End.
Мария Тамоян
Ох, шифровки)
Валерий Ославский
Исправил теснее)))
Васев
Михаил
Чёрт... Вместо того, чтоб комменты открыть, случайно выслал нарушение. На данный момент пойду сам убирать)
Ванек Торбисман
Ну, сейчас у вас Испытанный ответ)
Владислав Буйлов
А 'С' что делает в программке?
Лидия Сычкова
Это счётчик для светофора
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов