камень, ножницы, бумага для двоих

 
0
 
PHP
ava
nepster | 27.09.2013, 00:52
Задача сделать игру - камень, ножницы, бумага.

Следовательно принцип такой:
я создаю заявку на игру, и жду.
ко мне заходит 2 игрок и начинается игра.

Хочу получить советы по проектированию и структуре базы данных и реализации на php/ 
Comments (4)
ava
Another | 27.09.2013, 01:26 #
Первая таблица - Игры.
Структура - ID | Пользователь 1(ID) | Пользователь 2(ID) |
Пользователь 1 - отправил заявку, пользователь 2 - NULL
Если не NULL то подключиться к игре невозможно.

Вторая таблица - пользователи.

Третья таблица - лог игр. Структура - ID | ID игры | Пользователь 1 (что выбрал) | Пользователь 2 (что выбрал) | Этап (если нужно  несколько этапов)

Далее уже остается только php.
Первый пользователь выбирает заявку, заходит в игру и обновляется ячейка Пользователь 2(ID).
Далее он выбирает действие (1,2 или 3 (камень, ножницы или бумага)), ищет в бд этап 1 с ID игры, если находит то обновляет ячейку, если нет то создает запись.

Там же и проверки что бы знать куда писать (приглашенный или пригласивший(если ID совпадает с...))

Принцип такой, я думаю.
ava
Elfet | 02.10.2013, 11:47 #
Ну нет.
ava
ksnk | 27.09.2013, 07:26 #
Цитата (nepster @  26.9.2013,  23:52 findReferencedText)
я создаю заявку на игру, и жду. 

ко мне заходит 2 игрок и начинается игра.

Откуда возьмется второй игрок? Это может быть случайный посетитель сайта, увидевший надпись "игра ждет второго участника", а может быть знакомый, которому заслана ссылка по скайпу.

Нужна ли регистрация пользователей? Если собираемся хранить рейтинг и результаты турнира, то да, без нее не обойтись, а если игра - замануха на сайт, то регистрация только отпугнет.

Нужна ли база? Для сохранения состояния такой  игры достаточно ключика в мемкэше. Вот результаты сохранять для истории - база нужна.
ava
georgiy11 | 27.09.2013, 08:37 #
Node.js и без БД, по соединениям, если конечно не нужна статистика.
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
advanced
Submit