Проблема с обходом массивов

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

Проблема с обходом массивов

Сообщение trius-strannik » 11.08.2009 18:27:41

Делаю пошаговую стратегию, возникла обна проблема с "распостранением" информации в массивах

см. приложение

баг такой: с текущей ячейки управлять соседними получается, а вот управлять текущей по состоянию окружения получается только по направлению обработки массива (здесь это справо-налево снизу-вверх), а вот против движения днные почему-то теряются

в примере должен получиться крестик
Вложения
mir.zip
исходник
(104.69 КБ) Скачиваний: 421
Аватара пользователя
trius-strannik
новенький
 
Сообщения: 23
Зарегистрирован: 11.06.2009 07:19:24
Откуда: Томск

Re: Проблема с обходом массивов

Сообщение trius-strannik » 18.08.2009 14:35:39

Рас никто не ответил.. что ж ...
Тем не менее решение проблемы заключалось в перекрытии уже пройденной и обработанной клетки её необработанным вариантом с перврго слоя..., нашёл два пути решения (определяются флагом 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
...

для моего случая это подходит... :P
Аватара пользователя
trius-strannik
новенький
 
Сообщения: 23
Зарегистрирован: 11.06.2009 07:19:24
Откуда: Томск


Вернуться в Общее

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 31

Рейтинг@Mail.ru