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