Рас никто не ответил.. что ж ...
Тем не менее решение проблемы заключалось в перекрытии уже пройденной и обработанной клетки её необработанным вариантом с перврго слоя..., нашёл два пути решения (определяются флагом GOST):
- Код: Выделить всё
...
Pered[Eta ]:=PPole[x ,y ];
Pered[Verh ]:=PPole[x+1,y ];
Pered[Pravo]:=PPole[x ,y+1];
if GOST <> 0 then
begin
Pered[Niz ]:=SPole[x-1,y ];
Pered[Levo ]:=SPole[x ,y-1]
end
else
begin
Pered[Niz ]:=PPole[x-1,y ];
Pered[Levo ]:=PPole[x ,y-1]
end;
Trans^.Ustanovka(@Pered);
str(nom^,t);
t:='fv'+t;
Trans^.Translatiya(t);
SPole[x ,y ]:=Pered[Eta ];
if GOST <> 0 then
begin
SPole[x+1,y ]:=Pered[Verh ];
SPole[x ,y+1]:=Pered[Pravo];
SPole[x-1,y ]:=Pered[Niz ];
SPole[x ,y-1]:=Pered[Levo ]
end
else
begin
SPole[x+1,y ,Tip]:=Pered[Verh ,Tip];
SPole[x ,y+1,Tip]:=Pered[Pravo,Tip];
SPole[x-1,y ,Tip]:=Pered[Niz ,Tip];
SPole[x ,y-1,Tip]:=Pered[Levo ,Tip]
end
...
для моего случая это подходит...