php взаимодействие пользователей
Я в PHP новичек, а захотелось реализовать одну простенькую игрушку на нем и сделать возможным поиграть в нее людям.
Игра заключается в том, чтобы за меньшее число ходов и получая подсказки, угадать загаданную комбинацию фигур. Кажется эта игра называлась Быки и коровы.
Так вот, я хочу сделать так, чтобы пользователь на особой страничке мог оставить свой вызов, например ввиде ссылки, и если кто-то на нее кликнет, то они бы переносилсь в саму игру оба. Отсюда первый вопрос: как можно идентифицировать каждого из клиентов.
Затем каждый из них загадывает свою комбинацию и они начинают игру. Скрипт сам дает им подсказки о том, что они угадали правильно, а что нет. Второе условие - то что 1 ход они должны делать параллельно, но пока один из них не завершит свой - игра дальше не продолжается. Как реализовать этот момент.
Ну и последний вопрос: какими способами можно поддерживать обмен данными между этими игроками (т.е. какой ход кто сделал, сообщения и т.д.). Можно ли делать это через переменные или они убиваются после того как скрипт генерирует страницу?
Резюмирую вопросы:
1. как можно идентифицировать каждого из клиентов
2. как обеспечить пошаговость игры в параллельном режиме (ходят одновременно)
3. какими способами можно поддерживать обмен данными между этими игроками
Резюмирую вопросы:
1. как можно идентифицировать каждого из клиентов
2. как обеспечить пошаговость игры в параллельном режиме (ходят одновременно)
3. какими способами можно поддерживать обмен данными между этими игроками
1. По уникальному идентификатору сессии.
2,3. Все ходы и положения можно записать в базу данных. При каждом запросе от одного из игроков модифицировать базу данных и в зависимости от ее состояния завставлять ждать или давать ходить
Например в базе два поля, походил ли первый игрок и походил ли второй. Там записан 0 - если не походил и 1 - если походил.
Таким образом если ты уже походил (1) а другой игрок нет (0), то тебе выдается страничка на который написано "Ждем хода второго игрока".
а принудительно можно заставить страницу одного пользователя обновиться сразу после того как другой сделает ход, или первому нужно будет ставить автоматическое обновление?
:))
а принудительно можно заставить страницу одного пользователя обновиться сразу после того как другой сделает ход, или первому нужно будет ставить автоматическое обновление?
первому надо ставить автомат обновление, и проверять по базе если ход сделан то грузится что то еще.
первому надо ставить автомат обновление, и проверять по базе если ход сделан то грузится что то еще.
А ещё лучше, вернее юзабельней, сделать "управляющий" фрэйм в 1 пиксель с авто-обновлением и из него уже работать с другими фрэймами (баннер крутануть, что-нибудь JS-ом написать, перегрузить, обработать действие пользователя и.т.д)
Это не будет юзера перезагрузками раздражать да и для трафика экономней.