|
1 / 1 / 0
Регистрация: 25.02.2018
Сообщений: 97
|
|
Многопользовательская игра на php16.05.2020, 14:32. Показов 1950. Ответов 6
Метки нет (Все метки)
Доброго времени суток! Хотелось бы услышать ваши советы по поводу создания сайта с многопользовательской игрой: где почерпать информацию, примеры. Нужно сделать на php (codelgniter) + jQuery. К примеру игру в камень ножницы бумага, где два игрока входя в один "кабинет" начинают играть, результат игры записывается в бд в дальнейшем.
1
|
|
| 16.05.2020, 14:32 | |
|
Ответы с готовыми решениями:
6
Многопользовательская игра Многопользовательская игра Многопользовательская игра домино |
|
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
|
|
| 16.05.2020, 17:35 | |
|
Погугли "камень ножницы бумага php"
В целом не думаю, что общая концепция игры на двоих сильно отличается от чата на двоих или чего-то еще на двоих. Нужна реализовать логику инициализации игры, тоесть вступления в игру, определения началась ли она. И собственно саму игру. Почитать можно про сокеты или аякс.
0
|
|
|
1 / 1 / 0
Регистрация: 25.02.2018
Сообщений: 97
|
|
| 16.05.2020, 19:06 [ТС] | |
|
Технология Ajax мне более менее понятна. У меня есть готовая игра, где человек играет с компьютером, а результат игры записывается в бд . С игрой соперника концепция немного непонятна. У меня есть следующая мысль:
Для игры 2 людей создать новую базу данных, в которых будет 6 колонки: имя первого игрока, имя второго игрока, промежуточные итоги первого и второго, количество выигранных партий первого, количество выигранных партий второго Есть меню, в которой есть пункт "Играть с соперником". Когда я нажимаю на эту кнопку я подключаюсь к бд, потом ищу пустую либо первую либо вторую колонку, если нет, то создаю новую сроку. Задаю цикл и проверяю пока не займётся вторая колонка, после этого проверяю счёт, если там не нули обновляю. Затем я начинаю играть, то есть через каждые пять секунд отсылать данные к бд. Записываю свой промежуточный итог, проверяю с промежуточным итогом второго и записываю результат в выйгранную или проигранную партию, затем проверяю столбец выигранных партий своих и соперника. Если он достигнет некого значения то засчитываю себе победу, обновляю все результату и в основную бд пишу победу. Будет ли это работать, есть ли что нить попроще, т.к. инфы никакой в Гугле не нашел
0
|
|
|
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
|
||
| 16.05.2020, 19:53 | ||
|
Когда нажимает "Играть с соперником", да - создается заявка, если нет подходящих заявок в базе, и ставится статус "ожидает игру". Как-бы все, игрок может гулять по сайту далее, пока не появится второй. Как заходит второй, находится заявка первого и обоим игрокам вешается статус "в игре". На каждой странице нужно проверять статус и если он вдруг оказывается "в игре" редирект на страницу игры. Типо того. Если игра закончилась или просрочена, например если оба игрока забили играть и просто закрыли браузер, закрываем их игру к пишем обоим статус "не в игре". Вот в этой всей механике главная головная боль, сам процесс игры вроде не сложный.
1
|
||
|
1 / 1 / 0
Регистрация: 25.02.2018
Сообщений: 97
|
|
| 16.05.2020, 20:12 [ТС] | |
|
Не совсем понятны некоторые моменты
1-что будет происходить когда найдется 2 желающих сыграть игрока? Я правильно же понимаю, что надо создать все равно отдельную бд, чтобы записывать результат состояний выбора одно из тоех состояний с дальнейшим подсчётом очков для выбора победителя? 2 - не будет ли все очень медленным, и если какие либо другие возможности для создание так скажем игровой комнаты на пхп? Просто думается мне, что с учётом того что каждому игроку даётся 5 сек на выбор, если он не выбрал то считается что проиграл, игра вообще не пойдет между 2 игроками. 3 Как сделать редирект после того как найдется второй пользователь для игры? Навкрное он должен отправить какое то сообщение первому , типо я нашел тебя, но как в пхп или яваскрипте первого сделать постоянный мониторинг сообщения от второго, если мы ходим по разным страницам? Да и если даже даже ожидаем в комнате игры, все равно первый должен настроить прием какого либо сообщения от сервера, чтобы постоянно самому не делать запрос, а если отдельную бд не делать то куда и какой запрос делать?
0
|
|
|
143 / 246 / 24
Регистрация: 08.02.2019
Сообщений: 1,044
|
||||
| 16.05.2020, 20:35 | ||||
1
|
||||
|
1 / 1 / 0
Регистрация: 25.02.2018
Сообщений: 97
|
|
| 16.05.2020, 21:02 [ТС] | |
|
Ок, загуглю пример чата на php.Если есть нормальный пример прошу кинуть мне ссылку. Все равно пока непонятно немного принцип, когда пользователю приходит сообщение. Каким образом на пхп возможно прослушивание входящих сообщений
0
|
|
| 16.05.2020, 21:02 | |
|
Помогаю со студенческими работами здесь
7
Своя браузерная многопользовательская игра Многопользовательская бд Многопользовательская БД Многопользовательская БД Многопользовательская видеоконференция на C# Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|