Skocz do zawartości
Forum komputerowe PC Centre
bombix

POMOCY!

Rekomendowane odpowiedzi

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;

Edytowane przez bombix

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Mógłbym napisać że pierwsza strzela w punkt x,y znajdujący się pewnie wewnątrz kółka na sygnalizatorze i zapełnia danym kolorem (tryb graph) i tak dalej o drugiej, ale to bez sensu.

Jak nie rozumiesz wywoływanych procedur czy funkcji - sprawdź co robią, przeczytaj procedurę linijka po linijce, zbadaj co robi każda linijka, narysuj to sobie, wyobraź, zaśpiewaj - wszelkimi dostępnymi środkami. Gdy przerobisz tak całą procedurę - będziesz wiedział po co jest i jak działa.

To ja z przepisem - można wziąc przepis na babkę i spytać co wyjdzie jak się go wykona - dostaniesz odpowiedź.

Można też wykonać i nauczyć się piec babkę.

Pozdrawiam

 

PS. nie wiem jak wygląda to skrzyżowanie ale strzelam podpowiedź, że tablica przechowuje współrzędne, być może światełek na sygnalizatorach.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie

×
×
  • Dodaj nową pozycję...