Proszę o wyjaśnienie tych dwóch procedur najlepiej tak szczegółowo linijka po linijce. Naprawdę nie mam pojęcie co do czego tu służy :/ Jest to kod z Turbo
Program ten dotyczy działania syganlziacji świetlnej na skrzyżowaniu. Jest jeszcze jedna procedura który wyrysowuje całe szkrzyżowanie. Jednak tę procedurę rozumiem w całości. A mam problem z tym kawałkiem. Wiem, ze jest on odpowiedzialny za zmiane kolorów świateł, jednak chciałbym dowiedziec po co jest ta tablica i po koleji co się dzieje w tej procedurze.
Pascala.
procedure wyp(x,y:integer;kolor:byte);
begin
setfillstyle(1,kolor);
floodfill(x,y,white);
end;
{----------------------------------------------------------------------------}
procedure sym;
const tab:array [1..8,1..8] of integer =((4,0,2,45,4,0,2,45),
(4,0,6,30,4,0,6,30),
(4,0,4,0,4,0,4,0),
(6,30,4,0,6,30,4,0),
(2,45,4,0,2,45,4,0),
(6,30,4,0,6,30,4,0),
(4,0,4,0,4,0,4,0),
(4,0,6,30,4,0,6,30));
var ch:char;
i:integer;
begin
i:=1;
repeat
wyp(195,125-tab[i,2],tab[i,1]);
wyp(195-tab[i,4],365,tab[i,3]);
wyp(450,365+tab[i,6],tab[i,5]);
wyp(455+tab[i,8],135,tab[i,7]);
repeat
ch:=readkey;
until (ch=#27)or(ch=#32);
if (tab[i,1]<>4) then
begin
wyp(195,125-tab[i,2],black);
wyp(450,365+tab[i,6],black);
end;
if (tab[i,3]<>4) then
begin
wyp(195-tab[i,4],365,black);
wyp(455+tab[i,8],135,black);
end;
inc(i);
if (i>8) then
i:=1;
if (tab[i,1]=2) then
begin
wyp(195,125,black);
wyp(450,365,black);
end;
if (tab[i,3]=2) then
begin
wyp(195,365,black);
wyp(455,135,black);
end;
until ch=#27;
end;