24.09.2009, 18:30 | #1 |
Специалист
Регистрация: 08.05.2008
Сообщений: 197
Вес репутации: 0
|
Как вычислить допустимые ходы в шахматах
Есть шахматная доска - массив 8*8 и выбрана определённая фигура в определённой клетке, например пешка E2.
cell(5,2)=пешка; в других клетках есть другие фигуры, нужно посчитать пометить ячейки куда можно перейти и куда можно побить фигуры противоположного цвета Правила как ходят фигуры я знаю. интересует вопрос есть-ли оптимизиование по коду и скорости варианты вычислить для любой фигуры в любой клетке, координаты клеток куда можно пходить? а-то то что у меня получается много if-else и переборов вариантов, для каждой фигуры, или так у всех? Пишу в этот раздел поскольку шахматы будут на JavaScript+PHP на сайте.
__________________
Возможно на заказ. |
24.09.2009, 18:33 | #2 |
Эксперт
Регистрация: 13.05.2008
Сообщений: 7,497
Вес репутации: 391
|
__________________
|
24.09.2009, 18:39 | #3 |
Специалист
Регистрация: 08.05.2008
Сообщений: 197
Вес репутации: 0
|
Немного не то, что я ищу, но и на том спасибо. может серверную часть сделаю с использованием какого из класов.
__________________
Возможно на заказ. |
24.09.2009, 18:48 | #4 |
Эксперт
Регистрация: 13.05.2008
Сообщений: 7,497
Вес репутации: 391
|
Я как то года 3 назад писал шахматного клиента на php, точнее взял какой то класс, и переделал его под себя. А писать это с нуля.. уууу
__________________
|
24.09.2009, 18:51 | #5 |
Специалист
Регистрация: 08.05.2008
Сообщений: 197
Вес репутации: 0
|
так мне код не на РНР нужен мне на яваскрипте нужно подсвечивать пользователю возможные ходы. я нашел один рабочий вариант но он работает только в 6-м експлорере и какую-то такую странную систему кодирования ходов применяет что лучше уж я сам напишу.
__________________
Возможно на заказ. |
24.09.2009, 19:37 | #6 |
Специалист
Регистрация: 25.12.2007
Сообщений: 117
Вес репутации: 0
|
|
24.09.2009, 21:18 | #7 |
JS Developer
|
Тут алгоритм таков, что кликнув по фигуре, сначала вычисляем её тип.
Узнав её тип, мы уже знаем, как она может ходить и с помощью этих данных выбираем все возможные клетки для перехода. Отсеиваем от этих клеток те, на которых стоят фигуры того же цвета, что и наша. Назначаем особый статус тем клеткам, на которых стоят вражеские фигуры. Ну и далее подсвечиваем клетки нужными нам цветами. При переходе фигуры назначаем свой хэш - код, кодируем его и отправляем ajax - запрос с эти кодом и данными по ходу фигуры на сервак, там естественно обрабатываем операцию, расшифровываем код по томуже алгоритму, что и зашифровали, ну и если всё норм с кодом, обрабатываем информацию. На стороне юзера к примеру каждые две секунды отправляем ajax - запрос и получаем текущее расположение фигур. Всё это творчество на JS засовываем в анонимную функцию и запаковываем каким - нибудь пакером. Ну и вот минимальный функционал, можете приступать |