Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Блокировка, или передача прав.
 
 автор: diablo_   (08.02.2014 в 19:22)   письмо автору
 
 

Всем привет.
Вопрос по структуре.
Есть задача, надо сделать временную блокировку пользователя, а точнее его прав.
То есть, есть, 3 пользователя №1, №2, №3. Изначально право голоса есть только у №1. После того, как он сказал, написал коммент или ещё что то, надо передать право голоса №2, а потом №3. Но в тоже время, один из пользователей, может отказаться от комментирования нажав на кнопку. И в этом случае голос должен передаться следующему.
И самое главное... в чём собственно и сложность. После последнего, должно вернуться право к первому.

Для наглядности, можно привести в пример игру покер, где игроки ходят по очереди.
Вот мне надо сделать что то подобное.

Не могу сообразить как это сделать...
Хотя может это можно сделать и при помощи чистого пхп, через массивы например.
Но почему то мне кажется что через мускул будет вернее.

Есть ли идеи?

  Ответить  
 
 автор: Trianon   (08.02.2014 в 21:15)   письмо автору
 
   для: diablo_   (08.02.2014 в 19:22)
 

вариантов, собственно, два.
хранить для каждого игрока
либо id игрока, следующего в круге, (а возможно и предыдущего, если логика требует)
либо номер места за столом (особенно, если игроки могут занимать и освобождать места, как в покере).
Игрок - это, собственно, запись в таблице связке - с id пользователя, id игры, и.. чем-то из вышеперечисленного.

  Ответить  
 
 автор: Diablo_   (08.02.2014 в 21:36)   письмо автору
 
   для: Trianon   (08.02.2014 в 21:15)
 

Этот вариант ясен.
Можно хранить айди юзера ибо оно уникально. И его, как бы приравнять к позиции.
Но дело то как, продолжим на примере покера. Насколько мне известно, там ходят по кругу. То есть если в первый кон пошёл №1, то во второй, первым, пойдёт №2.
А значит в надо сдвигать всю последовательность с 1,2,3 на 3,1,2 и так далее.

  Ответить  
 
 автор: Trianon   (09.02.2014 в 20:01)   письмо автору
 
   для: Diablo_   (08.02.2014 в 21:36)
 

не надо ничего сдвигать.
Следующий номер будет минимум из тех, что больше текущего. А если такого не найдется - то минимум из всех.

  Ответить  
 
 автор: Diablo_   (17.02.2014 в 15:25)   письмо автору
 
   для: Trianon   (09.02.2014 в 20:01)
 

Спасибо, так и сделал. Всем раздал место за столом и записываю последний ход.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования