Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
WprocedurzeWygenerujRuch(pozx,pozy:integer;c:byte),podajemypozycjęx,ypionkalubfigury
naplanszyijegokolorc.Następnieprogramsprawdzajakipioneklubfiguraznajdujesięnatej
pozycjiizapisujeinstrukcjąwyliczającąforruch=1tofigura.irprzebiegającąpoindeksach
dozwolonychdlafiguryruchówzdefiniowanychjakostałeconst,poograniczeniudorozmiarów
planszy[1..8,1..8],isprawdzeniudozwolonościruchu(ruchjestniedozwolonynapolex,yna
którymznajdujesięfiguralubpionekwłasnegokoloru)zapisywaneodpowiednietablice
reprezentująceplanszędogrywszachy:pozycja[x,y].nbdozwruch,pozycja[x,y].dozwruch,
pozycja[x,y].bdozwruch.Wtensposóbpowstajewjednejprocedurzepojednokrotnymwywołaniu
obrazwewspółrzędnychkartezjańskichx,yniebijącychlubbijącychdozwolonychruchówfigury
lubpionka,szchującychruchówpionkanapustepolaibijącychruchówpionka.
Jeślichcemyzobaczyćjakiepolaszachowanetomusimyzsumowaćlogicznie
pozycja[x,y].dozwruch,pozycja[x,y].bdozwruch.Jeślichcemyzobaczyćnajakiepolamożemysię
ruszyćtomusimyzsumowaćlogiczniepozycja[x,y].nbdozwruch,pozycja[x,y].dozwruch.
Następnieodczytujemywpętli
forx=1to8
fory=1to8
if((pozycja[x,y].dozwruch>0)or(pozycja[x,y].nbdozwruch>0))then
begin
ł..
end
listępóladresowanychwspółrzędnymix,ynaktóremogłabyporuszyćfiguralubpionekstojącana
pozycjipozx,pozydlaktórejwywoływaliśmyfunkcjęWygenerujRuch(pozx,pozy:integer;c:byte),i
tworzymykolejnoplanszeznowymustawieniempinkówifigur,zapisującjakiruchnaplanszy
zostałwykonany.
22