powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Онлайн шахматы - как реализовать
7 сообщений из 7, страница 1 из 1
Онлайн шахматы - как реализовать
    #37483393
ыыыыыыы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Стоит задача сделать on-line шахматы (очень похоже на то). Предположительно одновременно может быть до 1000 игроков.
Как порекомендуете это реализовать? Подойдет ли для этого WCF? Удастся ли обойтись без клиентских приложение силами JS?
Планирую сделать WCF сервис, UI игроков на JS. Координаты фигур отправлять на сервер Ajax в виде JSON (не накладно получиться)?

Спасибо.
...
Рейтинг: 0 / 0
Онлайн шахматы - как реализовать
    #37483419
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WCF - лишнее, используйте хендлеры (.ashx).
А так - всё нормально. Не от балды говорю. У меня имеется некоторый опыт в реализации подобных задач.
Сама фигура на доске выградит так:
1. таблица.
2. в ячейках таблицы квадратные дивы (чёрные и белые клетки), у которых position:relative/
3. внутри этих дивов квадратные картинки фигур такого же размера, что и сами дивы с прозрачным фоном, или тоже дивы с бекграундом с картинками фигур, с position:absolute;z-index:100;top:0px;left:0px;.
4. на mousedown увеличиваете z-index до 200, после перетаскивания и отпускания, возвращаете z-index в 100. Для того, чтобы перетаскиваемая фигура была сверху.
5. После перетаскивания (mouseup), смотрите, что за фигура, в какую клеточку походила (appendChild), возможно, что там уже есть фигура, то тогда или удалить ту, что была(removeChild), и appendChild в этот div новой фигуры. Аппендчилдить надо только тогда, когда ход правильный. После чего фигуре явно установить style.left="0px" и style.top="0px";
6. Послать аяксный запрос хендлеру в виде JSON с новым состоянием доски. Этот JSON записать в БД, для того, чтобы другой игрок смог его прочитать. А до этого тот другой игрок дёргал по таймеру (setInterval) хендлер и проверял, был ли ход противника.
После Того, как он прочитал новую конфигурацию, таймер останавливается. После того, как он сделает ход, таймер надо опять запустить.
Вот, в кратце, и всё. Успехов!
...
Рейтинг: 0 / 0
Онлайн шахматы - как реализовать
    #37483449
Starlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeАппендчилдить надо только тогда, когда ход правильный.

Наверное отслеживание правильных ходов, реализованное на js - не самая тривиальная задача. Следить нужно не только за тем, чтобы не было других фигур в клетке, но и по ходу движения (кроме коня). Отдельная песня - рокировка и вообще король, он не должен быть под ударом :)
...
Рейтинг: 0 / 0
Онлайн шахматы - как реализовать
    #37483458
Фотография n_string
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если делаете шахматы не ради спортивного интереса, делайте на WPF Browser application, xbap приложения в таких случаях рулят.
Пример можно посмотреть здесь .
...
Рейтинг: 0 / 0
Онлайн шахматы - как реализовать
    #37483466
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Starlex,

А на чём проще на сишарпе или визуалбейсике? Очень сомнительно, что получится проще. Тем более, что ТС спрашивал можно-ли обойтись без клиентской программы. Ответ - да, однозначно.
Шахматы в этом случае проще шашек. У меня шашки реализованы по описанной выше технологии.

Конкретно сейчас делаю одну оригинальную игру. От шашек и шахмат она отличается тем, что фигуры разборные и могут ходить по частям. Правда, аспнетом там и не пахнет - MySQL+PHP+HTML+DOM+CSS+Javascript. Впрочем, MySQL+PHP за час-другой вполне можно заменить на MS SQL+C#, потому что код на сервере несущественный. Типа, получить данные, записать в БД и наоборот - взять и отдать в виде JSON.
...
Рейтинг: 0 / 0
Онлайн шахматы - как реализовать
    #37483472
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
n_stringЕсли делаете шахматы не ради спортивного интереса, делайте на WPF Browser application, xbap приложения в таких случаях рулят.
Пример можно посмотреть здесь .
Н-стринг, Вы вопрос-то читали? :)
...
Рейтинг: 0 / 0
Онлайн шахматы - как реализовать
    #37483475
Starlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeStarlex,

А на чём проще на сишарпе или визуалбейсике? Очень сомнительно, что получится проще. Тем более, что ТС спрашивал можно-ли обойтись без клиентской программы. Ответ - да, однозначно.


Да я не спорю, проверку лучше делать на клиенте. Неплохая тренировка для тех, кому нужно подтянуть свои скиллы в js.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Онлайн шахматы - как реализовать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]