struct PozInfo { WORD X; WORD Y; }; const WORD komorka=20; const WORD szer=640 div komorka-1; const WORD wys=480 div komorka-1; BYTE Mapa[szer+1,wys+1]; WORD LenMapa[szer+1,wys+1]; WORD LenWezly[501]; PozInfo WezlyPoz[501]; WORD i,j; PozInfo PozycjaStart; PozInfo PozycjaKoniec; PozInfo Pos; WORD NrWezla; WORD NajkrotszaDroga; WORD NajkrKrok; PozInfo NajkrPos; BYTE Step; void Czysc() { for(int a=0;a<=szer;a++) for(b=0;b<=wys;b++) LenMapa [a,b]=0xFFFF; } void TworzWezel (int x,int y) { if((LenMapa[Pos.X+x,Pos.Y+y]==0xFFFF)&&(Mapa[Pos.X+x,Pos.Y+y]==0)) { LenMapa [Pos.X+x,Pos.Y+y]=LenMapa [Pos.X,Pos.Y]+1; WezlyPoz [NrWezla].X=Pos.X+x; WezlyPoz [NrWezla].Y=Pos.Y+y; LenWezly [NrWezla]=((Pos.X+x)-PozycjaKoniec.X)*((Pos.X+x)-PozycjaKoniec.X)+((Pos.Y+y)-PozycjaKoniec.Y)*((Pos.Y+y)-PozycjaKoniec.Y); NrWezla++; } } void Sprawdz (int x,int y) { if(LenMapa[Pos.X+x,Pos.Y+y]