README.md

Игра Шакал

https://jackal.su

Установка зависимостей

npm i typescript -global
npm i

Разработка

npm run watch

Создание игры

npm run make-game

Генерирует рабочее поле

Запуск

npm run server

Сброс состояния игры

Удалить файл ./data/games//*.log И заново создать игру.

Структура проекта

  • server.js - сервер на ноде js для работы игры Игра использует два порта 3000 - для html и 3001 для вебсокетов. Через веб сокеты организована оснавная логика игры и чат.
    Вычисления ходов на сервере не производится, а на каждом клиенте отдельно, сообщения от инициатора хода передаются всем участникам.
  • lib/ Полезные функции
  • public - код клиента игры (js - создается из файлов ts в src),
  • data/
    • games.json - Игры, список игроков и ID игры
    • games/ID - записи ходов (steps.log) и записи сгенерированных игровых полей (deck.json)
  • src/ts - исходный код клиентской части
    • game.ts - основной файл игры, Game - класс с игроым полем
    • cards - классы с реализацией поведения различных игровых карт
    • components - карты и элементы интерфейса
    • game - взаимодействие с сервером
  • data/games.json - описание игр и порядок хода игроков, выбирается первая игра из списка или задается в аргументе при запуске сервера
    на сервере возможна только одна игра при входе участник выбирает игрока за которого будет играть (показываются только свободные участники)
Описание

Игра Шакал

Конвейеры
0 успешных
0 с ошибкой