Я знаю, что этот вопрос не является конкретным и может быть широким, но я просто хочу знать процесс мышления, потому что я немного растерялся.
Я пытаюсь сделать простую настольную игру с Ajax и PHP. Я знаю, что создание игр с веб-сокетами было бы намного лучше для работы в реальном времени, но сейчас я придерживаюсь только Ajax и PHP. До сих пор я мог создавать комнаты для пользователей, но не могу понять, как заставить других пользователей присоединиться к этой комнате и сообщать их данные, такие как имя, счет и т. Д.
Моя ситуация:
playground.php?room=123456
Я, конечно, не эксперт по PHP, но я бы сделал это:
1) Когда пользователь заполняет детали на странице индекса, вы можете сохранить некоторую основную информацию в локальном хранилище или с помощью файлов cookie, чтобы вы могли получить эти детали позже.
Если у вас есть база данных, то вы можете иметь таблицу, в которой вы будете сохранять пользователей …
2) Когда этот пользователь входит в plays.php? Room = 123456, вы можете получить те данные, которые вы сохранили в localalstorage или cookie, и добавить этого пользователя в базу данных.
3) Вы проверяете базу данных на игрока, который создавал комнату каждые x раз, и если есть пользователь, с которым вы сталкиваетесь в первый раз, тогда вы можете выполнить какое-то действие.
Я надеюсь, что это поможет вам немного 🙂
Удачи вам в проекте;)
Я должен хранить данные в базе данных и куки.
в база данных, у тебя есть 3 стола
tblUsers (username, userid, ip,...)
tblRooms (roomid, creatorid,..)
tblPlayers (roomid,userid,..)
Если пользователь посещает вашу веб-страницу, проверьте наличие файла cookie с информацией о пользователе.
Если файлов cookie нет, разрешите пользователю войти или зарегистрироваться.
Если пользователь создает комнату, сохраните эти данные в tblRooms.
Теперь он может поделиться ссылкой.
Другой игрок посещает комнату. Сначала вы должны проверить, зарегистрирован ли игрок (проверить наличие файлов cookie). Если нет, пусть он покажет форму регистрации.
Если вы зарегистрированы, сохраните идентификатор пользователя в tblPlayers. С этим столом вы знаете игроков этой комнаты.