• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Экономическая игра

  • Автор темы Armagedda
  • Дата начала
A

Armagedda

Искал в инете реализацию настольной игры Биржа, но так и не нашел нормальной. Решил сам запрограммировать. В дизайн особо не углублялся, главное для меня было максимально приблизить к настольному варианту в игровом плане . Хочу сделать сетевую версию, но толком не знаю как. Может, кто заинтересуется и поучаствует в совместном проекте?
 
A

Armagedda

Нихрена не понял? Как любят советовать "крутые" программеры, изучайте матчасть! (там же есть правила).
 
V

vital

Я не к тому, что правил не читал. А к тому, что очень не очевидный интерфейс. Далеко не сразу доходит куда кликать. Нужно иметь очень много желания, что бы разобраться и понять. например, кнопки для второго этапа хода - находятся под третьим этапом. Фиг найдешь.. Насчет функционала - нету там ничего специфического или адски сложного. Разве что АИ ботов.. А что бы игра могла стать популярной.. хм.. хз
 
A

Armagedda

Интерфейс буду дорабатывать, однозначно. А по поводу сетевой версии - можно ли ее сделать только средствами PHP?
 
V

vital

Только средствами пхп - Если делать ПРАВИЛЬНО, то нет, невозможно. Если через жопу - то могу рассказать метод..
 
V

vital

Хм.. ну время и нервы.. Если вкратце - обычно взаимодействие двух игроков реализовано либо по системе - клиент-сервер(т.е. один и зигроков клиент, и подключается ко второму - серверу) либо 2 клиента и сервер(т.е. есть какой-то отдельный сервер к которому подключаются 2 игрока-клиента, а всей передачей данными между ними занимается сервер) Штука в том, что написать сервер на PHP невозможно. На нем можно написать только клиент. Соответственно, если нужно обойтись только его средствами - то нужно придумать способ обойтись без сервера.. Тут и приходит на помощь всемогущий AJAX. Идея примерно в следующем. Человек заходит на сайт мол типа хочу поиграть. Скрипт проверяет в бд - есть ли созданные игры, и если есть, то подключается к ней, если нет => создает игр( в бд делается соответствующая запись, а человеку выдается что-то в духе ожидание соперника) Далее, когда игра создается - для нее можно создать временную табличку в бд, или еще че-нить в таком духе, и по таймеру JS будет вызываться проверка - подключился ли кто-нить к игре?(А при подключении клиента к игре тоже в бд делается какая-нить запись об этом). Когда клиент подключился - точно так же, ходы делаеются по очереди, ходы записываются в бд, а у каждого клиента по таймеру на JS происходит проверка - появились ли новые записи в бд, и, если появились, то они отображаются на экране и предлагается возможность сделать ход, и снова запускается ожидание изменений в бд.. Тоже самое у второго игрока.. Надеюсь хоть что-то понятно)
 
A

Armagedda

Спасибо, именно такой алгоритм я и предполагал. Пусть "через жопу", но сделать попробую.
 
A

Armagedda

Представляю на ваш суд сетевую версию игры Биржа. Расположена пока на временном адресе
Если удастся довести до ума, будет взят специальный домен.
Сделана в соответствии с рекомендациями vital
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!