Делаю пошаговую стратегию, возникла обна проблема с "распостранением" информации в массивах
см. приложение
баг такой: с текущей ячейки управлять соседними получается, а вот управлять текущей по состоянию окружения получается только по направлению обработки массива (здесь это справо-налево снизу-вверх), а вот против движения днные почему-то теряются
в примере должен получиться крестик
Проблема с обходом массивов
Модератор: Модераторы
- trius-strannik
- новенький
- Сообщения: 23
- Зарегистрирован: 11.06.2009 07:19:24
- Откуда: Томск
Проблема с обходом массивов
- Вложения
-
- mir.zip
- исходник
- (104.69 КБ) 542 скачивания
- trius-strannik
- новенький
- Сообщения: 23
- Зарегистрирован: 11.06.2009 07:19:24
- Откуда: Томск
Рас никто не ответил.. что ж ...
Тем не менее решение проблемы заключалось в перекрытии уже пройденной и обработанной клетки её необработанным вариантом с перврго слоя..., нашёл два пути решения (определяются флагом GOST):
для моего случая это подходит...
Тем не менее решение проблемы заключалось в перекрытии уже пройденной и обработанной клетки её необработанным вариантом с перврго слоя..., нашёл два пути решения (определяются флагом 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
...для моего случая это подходит...
