Pascal abc светофор
Автор Ёаша Матюшенко задал вопрос в разделе Другие языки и технологии
Нужно нарисовать в Паскаль ABC Светофор. Помогите пожалуйста и получил лучший ответ
Ответ от Oleh_Huz'[гуру]
такой?
Ответ от Cublen[гуру]
вот 2 проги
uses graphABC,crt;
var
a:char;
i:integer;
begin
setwindowsize(680,680);
{красный}
for i:=1 to 2 do begin
Rectangle(217,57,324,372);
Rectangle(265,371,283,588);
Rectangle(228,587,314,600);
circle(272,118,35);
circle(272,213,35);
circle(272,305,35);
floodfill(240,167,clGray);
floodfill(275,470,clGray);;
floodfill(274,595,clGray);
floodfill(280,115,clRed);
floodfill(280,215,clGray);
floodfill(280,315,clGray);
readln;
{жёлтый}
Rectangle(217,57,324,372);
Rectangle(265,371,283,588);
Rectangle(228,587,314,600);
circle(272,118,35);
circle(272,213,35);
circle(272,305,35);
floodfill(240,167,clGray);
floodfill(275,470,clGray);;
floodfill(274,595,clGray);
floodfill(280,115,clGray);
floodfill(280,215,clYellow);
floodfill(280,315,clGray);
readln;
{зелёный}
Rectangle(217,57,324,372);
Rectangle(265,371,283,588);
Rectangle(228,587,314,600);
circle(272,118,35);
circle(272,213,35);
circle(272,305,35);
floodfill(240,167,clGray);
floodfill(275,470,clGray);;
floodfill(274,595,clGray);
floodfill(280,115,clGray);
floodfill(280,215,clGray);
floodfill(280,315,clGreen);
readln;
{жёлтый}
Rectangle(217,57,324,372);
Rectangle(265,371,283,588);
Rectangle(228,587,314,600);
circle(272,118,35);
circle(272,213,35);
circle(272,305,35);
floodfill(240,167,clGray);
floodfill(275,470,clGray);;
floodfill(274,595,clGray);
floodfill(280,115,clGray);
floodfill(280,215,clYellow);
floodfill(280,315,clGray); end;
readln;
end.
----------------------------------------------------------------------------------
{Ну и вот светофор: }
program grsvet;
uses graphABC,crt;
var
x,y,a1,a2:real;
i,x1,r,s,k:integer;
m1:array [1..3] of integer;
y1:array [1..3] of integer;
begin
x:=320;
y:=240;
r:=20;
m1[1]:=clred;
m1[2]:=clyellow;
m1[3]:=clgreen;
x1:=round(x);
y1[1]:=round(y);
y1[2]:=y1[1]+40;
y1[3]:=y1[2]+40;
SetBrushColor(clBlack);
circle(x1,y1[1],r);
circle(x1,y1[2],r);
circle(x1,y1[3],r);
while true do begin
for i:=1 to 3 do begin
SetBrushColor(m1[i]);
circle(x1,y1[i],r);
if i=2 then Sleep(500)
else Sleep(1500);
SetBrushColor(clBlack);
circle(x1,y1[i],r);
end;
end;
end.
вот 2 проги
uses graphABC,crt;
var
a:char;
i:integer;
begin
setwindowsize(680,680);
{красный}
for i:=1 to 2 do begin
Rectangle(217,57,324,372);
Rectangle(265,371,283,588);
Rectangle(228,587,314,600);
circle(272,118,35);
circle(272,213,35);
circle(272,305,35);
floodfill(240,167,clGray);
floodfill(275,470,clGray);;
floodfill(274,595,clGray);
floodfill(280,115,clRed);
floodfill(280,215,clGray);
floodfill(280,315,clGray);
readln;
{жёлтый}
Rectangle(217,57,324,372);
Rectangle(265,371,283,588);
Rectangle(228,587,314,600);
circle(272,118,35);
circle(272,213,35);
circle(272,305,35);
floodfill(240,167,clGray);
floodfill(275,470,clGray);;
floodfill(274,595,clGray);
floodfill(280,115,clGray);
floodfill(280,215,clYellow);
floodfill(280,315,clGray);
readln;
{зелёный}
Rectangle(217,57,324,372);
Rectangle(265,371,283,588);
Rectangle(228,587,314,600);
circle(272,118,35);
circle(272,213,35);
circle(272,305,35);
floodfill(240,167,clGray);
floodfill(275,470,clGray);;
floodfill(274,595,clGray);
floodfill(280,115,clGray);
floodfill(280,215,clGray);
floodfill(280,315,clGreen);
readln;
{жёлтый}
Rectangle(217,57,324,372);
Rectangle(265,371,283,588);
Rectangle(228,587,314,600);
circle(272,118,35);
circle(272,213,35);
circle(272,305,35);
floodfill(240,167,clGray);
floodfill(275,470,clGray);;
floodfill(274,595,clGray);
floodfill(280,115,clGray);
floodfill(280,215,clYellow);
floodfill(280,315,clGray); end;
readln;
end.
----------------------------------------------------------------------------------
{Ну и вот светофор: }
program grsvet;
uses graphABC,crt;
var
x,y,a1,a2:real;
i,x1,r,s,k:integer;
m1:array [1..3] of integer;
y1:array [1..3] of integer;
begin
x:=320;
y:=240;
r:=20;
m1[1]:=clred;
m1[2]:=clyellow;
m1[3]:=clgreen;
x1:=round(x);
y1[1]:=round(y);
y1[2]:=y1[1]+40;
y1[3]:=y1[2]+40;
SetBrushColor(clBlack);
circle(x1,y1[1],r);
circle(x1,y1[2],r);
circle(x1,y1[3],r);
while true do begin
for i:=1 to 3 do begin
SetBrushColor(m1[i]);
circle(x1,y1[i],r);
if i=2 then Sleep(500)
else Sleep(1500);
SetBrushColor(clBlack);
circle(x1,y1[i],r);
end;
end;
end.
Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Нужно нарисовать в Паскаль ABC Светофор. Помогите пожалуйста