Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Rys.1.13.FunkcjaWygenerujRuch(pozx,pozy:integer;c:byte),cz.7,treśćproceduryporuszającej
królem.
Zgodniezdefinicjąruchukróla:
const
krol:tkrol=(
ir:8;ruch:((x:0;y:1),(x:0;y:-1),(x:1;y:0),(x:-1;y:0),
(x:1;y:1),(x:-1;y:-1),(x:1;y:-1),(x:-1;y:1));
szr1:1;szruch1:((x:2;y:0));
iwszr1:2;wszruch1:((x:1;y:0),(x:2;y:0));irf1:0;
obdszr1:(x:4;y:0);kobdszr1:(x:-3;y:0);kfobdszr1:4;
szr2:1;szruch2:((x:-2;y:0));
iwszr2:2;wszruch2:((x:-1;y:0),(x:-2;y:0));irf2:0;
obdszr2:(x:-3;y:0);kobdszr2:(x:2;y:0);kfobdszr2:4;);
królmożewykonywaćpojedynczyruchwjednymz8kierunkówruch:((x:0;y:1),(x:0;y:-1),
(x:1;y:0),(x:-1;y:0),(x:1;y:1),(x:-1;y:-1),(x:1;y:-1),(x:-1;y:1))lub
możewykonaćroszadękrótkąszruch1:((x:2;y:0))gdyodpowiedniepolapomiędzywieżąikrólem
pustewszruch1:((x:1;y:0),(x:2;y:0))ijeśliwieżaniewykonywałajeszczeruchuijeślipolaprzez
któreprzechodzikrólnieszachowane,lub
możewykonaćroszadędługąszruch2:((x:-2;y:0))gdyodpowiedniepolapomiędzywieżąikrólem
pustewszruch2:((x:-1;y:0),(x:-2;y:0))ijeśliwieżaniewykonywałajeszczeruchuijeślipola
przezktóreprzechodzikrólnieszachowane.
Ruchkrólemodwapola,jeślijestmożliwywymuszaautomatycznieruchodpowiedniąwieżą.
20