Показать сообщение отдельно
Старый 10.08.2006, 11:17
miramax вне форума Посмотреть профиль Отправить личное сообщение для miramax Посетить домашнюю страницу miramax Найти все сообщения от miramax
  № 2  
Ответить с цитированием
miramax
 
Аватар для miramax

Регистрация: Oct 2005
Адрес: Борисоглебск
Сообщений: 1,702
Отправить сообщение для miramax с помощью ICQ Отправить сообщение для miramax с помощью AIM Отправить сообщение для miramax с помощью MSN Отправить сообщение для miramax с помощью Yahoo Отправить сообщение для miramax с помощью Skype™
Думаю, кроме как перебора нет другого способа. Только ты не клетки проверяй а ящики... например в поле 64х64 12 ящиков.
проверяем расстояние от первого ящика до остальных 11;
потом от другого ящика до остальных 10;
и т.д.
Как программист думаю что можно использовать и такой вариант.
если линий очень много и ящиков тоже оооочень много то я бы сделал так:
1 создал бы массив ящиков вообщем box[id]; где хранил бы координаты каждого ящика
2 создал бы двумерный массив в котором хранил бы все столбцы и id ящиков на них лежащих Xarray[столбец][id]
3 создал бы двумерный массив в котором хранил бы все строки и id ящиков на них лежащих Yarray[строка][id]
4 Создал бы массив двумерный клеток в котором бы хранил наличие ящиков в клетке cell[x][y], если ящик есть то сell[x][y]=id ящика
если нет, то сell[x][y]=false
Вообщем если подумать то из этих конструкций можно много чего придумать.
Например в столбце Xarray[2] проверять только ящики из столбцов Xarray[0] и Xarray[4].
для более тонкого поиска можно использовать Xarray и Yarray вместе, что бы какие-нить закономерности выискивать.
и т.д.
Много раз изобретал такие алгоритмы для шахмат, для мокского боя и пр.
http://flaps.ru/sites/chess/ss.swf клиент для шахмат.
Думаю японокросы весчь апсалютна такая же, я сам хотел взяться за этот заказ
__________________
AS3 | www.FLAPS.ru | Русские флэшеры самые умные флэшеры в мире. ©


Последний раз редактировалось miramax; 10.08.2006 в 11:53.