Как написать цикл для онлайн браузерной игры

в 20:20, , рубрики: браузерная игра, Веб-разработка, вопросы, метки: ,

От автора поста

Вопрос не мой, моего знакомого, попросил у меня совета, я честно говоря не знаю, что ему ответить, поэтому запостил здесь.
Прочитал справку, так и не понял как создать именно вопрос, полезно будет, если кто-нибудь подскажет, как сделать именно вопрос, а не простой пост.

Собственно вопрос


Вобщем пишу браузерную игру, тематика «покемоны», как ни странно, возрастной контингент у подобной игры колеблется от 7 до 30 и даже более лет. В игре разумеется пользователи, ну и эти пользователи имеют своих так скажем покемонов, которыми они могут драться прокачивать и т.д. Пользователи находятся на регионах ну и естественно на локациях, выполняют квесты, но это не столь важно.
Ну дак вот решил для пользователей создать турниры, любой пользователь может создать турнир, для определённого уровня покемонов, выбирает призы за 1-е, 2-е и 3-е место, время проведения турнира, уровень покемонов в турнире, количество покемонов для боя, ну и ещё с десяток полей, но они собственно не для формальности. Турнир запускается только тогда, когда набралось достаточное количество пользователей, и если время старта >= времени сервера. После того как мы запустили турнир все пользователи отправляются на турнирную локацию, которая содержит турнирный покецентр (если кто не помнит, там покемонов по аниме личили), пользователь достаёт необходимых покемонов, и ему присваивается статус готов.
Пользователей может быть от 2 до 256 по геометрической прогрессии, это реализовано для того чтобы у каждого пользователя всегда была пара, чтобы небыло пользователей без пары, пользователям со статусом Оффлайн присваивается поражение. Ну вот собственно и вопрос, как же написать единый цикл разбиения пользователей на пары рандомно, и старта боёв пользователей (скрипт есть), проигравшим пользователям показывать турнирную таблицу, кто проиграл кто выиграл, кто прошёл, кто вылетел, админ естественно не учавствует в турнире.

Автор: tokamame

Источник

Поделиться

* - обязательные к заполнению поля