|
|
|
| Всем привет.
Вопрос по структуре.
Есть задача, надо сделать временную блокировку пользователя, а точнее его прав.
То есть, есть, 3 пользователя №1, №2, №3. Изначально право голоса есть только у №1. После того, как он сказал, написал коммент или ещё что то, надо передать право голоса №2, а потом №3. Но в тоже время, один из пользователей, может отказаться от комментирования нажав на кнопку. И в этом случае голос должен передаться следующему.
И самое главное... в чём собственно и сложность. После последнего, должно вернуться право к первому.
Для наглядности, можно привести в пример игру покер, где игроки ходят по очереди.
Вот мне надо сделать что то подобное.
Не могу сообразить как это сделать...
Хотя может это можно сделать и при помощи чистого пхп, через массивы например.
Но почему то мне кажется что через мускул будет вернее.
Есть ли идеи? | |
|
|
|
|
|
|
|
для: diablo_
(08.02.2014 в 19:22)
| | вариантов, собственно, два.
хранить для каждого игрока
либо id игрока, следующего в круге, (а возможно и предыдущего, если логика требует)
либо номер места за столом (особенно, если игроки могут занимать и освобождать места, как в покере).
Игрок - это, собственно, запись в таблице связке - с id пользователя, id игры, и.. чем-то из вышеперечисленного. | |
|
|
|
|
|
|
|
для: Trianon
(08.02.2014 в 21:15)
| | Этот вариант ясен.
Можно хранить айди юзера ибо оно уникально. И его, как бы приравнять к позиции.
Но дело то как, продолжим на примере покера. Насколько мне известно, там ходят по кругу. То есть если в первый кон пошёл №1, то во второй, первым, пойдёт №2.
А значит в надо сдвигать всю последовательность с 1,2,3 на 3,1,2 и так далее. | |
|
|
|
|
|
|
|
для: Diablo_
(08.02.2014 в 21:36)
| | не надо ничего сдвигать.
Следующий номер будет минимум из тех, что больше текущего. А если такого не найдется - то минимум из всех. | |
|
|
|
|
|
|
|
для: Trianon
(09.02.2014 в 20:01)
| | Спасибо, так и сделал. Всем раздал место за столом и записываю последний ход. | |
|
|
|