Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Мультиплеерная игра (https://javascript.ru/forum/dom-window/18737-multipleernaya-igra.html)

kobezzza 15.07.2011 03:13

Для крестиков ноликов хватит банального Long Poll.

Т.е. игрок походил - данные отправились на серв, что он походил и как это сделал.

Когда юзер сделал ход, то скрипт асинхронно с таймаутом стучит на серв, не походил ли оппонент, но серв отвечает не сразу, а спит до тех пор пока не произойдёт событие.

Можете почитать про Long Poll на этом сайте в разделе Comet.

Данный алгоритм не единственный, но наиболее простой в реализации (Polling не беру в расчёт ибо бяка ;))

ArmagedDance 17.07.2011 10:29

Все проще на самом деле. Сразу после того как игрок сделал ход браузер (скрипт) запрещает игроку делать следующий ход, пока не поступит разрешение от сервера. Запрещение может быть в появлении закрывающего прозрачного блока на экране, не дающего сделать клик или удаление функции рисования крестика(нолика), а разрешение, поступающее после того, как оппонент сделал ход, заключается в исчезновении закрывающего блока или же добавления функции рисования крестика/нолика.

ctpz 17.07.2011 14:46

Спасибо, ArmagedDance, этот алгоритм гораздо проще и реализуемее выглядит.

kobezzza 17.07.2011 15:35

ArmagedDance ну собственно, вы просто сказали логику работы на клиенте, а связь с сервером нет, он же не телепат ;) Для этого можно использовать разные методики, но проще ето Long Poll)


Часовой пояс GMT +3, время: 03:19.