new Game(queue, players, Classes, config, rules)
Базовый класс игры.
Предоставляет игровой цикл.
Предоставляет методы для ожидания и получения действий от игроков.
Создает игровые компоненты и управляет ими.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
queue |
Queue
|
очередь, к которой принадлежит игра |
players |
Array.<Player>
|
массив игроков. |
Classes |
object.<class>
|
классы, из которых создаются игровые компоненты |
config |
object
|
настройки игры |
rules |
object
|
правила игры |
Members
maxPlayers
minPlayers
modeName
actions
active
BotClass
cards
config
deck
directives
discardPile
disconnectTimeout
fakeDecisionTimer
hands
id
index
isRunning
isTest
log
players
queue
reactions
result
rules
simulating
states
table
timer
turnIndex
turnStages
turnStartTime
(static) maxPlayers :Number
Максимальное кол-во игроков в игре.
- Source:
(static) minPlayers :Number
Минимальное кол-во игроков в игре.
- Source:
(static) modeName :string
Название режима игры.
- Default Value:
- 'game'
- Source:
active :Boolean
Активна ли игра. Неактивные игры удаляются из менеджера игры, но ссылки на них могут оставаться у ботов.
- Source:
BotClass :Player
Класс ботов для добавления, если не хватает игроков, и для замены вышедших игроков.
- Source:
directives :GameDirectives
Методы, позволяющие игрокам выполнять действия.
- Source:
disconnectTimeout :number
Время после которого игрок будет отключен от игры.
- Source:
fakeDecisionTimer :number
Время ответа ботов.
Уменьшается, если стоит флаг simulating
.
- Source:
isRunning
Запущена ли игра. Игра не запущена, когда идет голосование о рестарте. Это не тоже самое, что game.states.current == 'STARTED'
- Source:
players :GamePlayers
Менеджер игроков и ботов, учавствующих в игре.
- Source:
reactions :GameReactions
Методы, выполняемые в ответ на действия от игроков.
- Source:
Methods
backToQueue
continue
doTurn
end
getDefaultResults
getResults
hoverOutCard
hoverOverCard
init
let
recieveResponse
recieveResponseSync
rematch
reset
resetSimulating
resetTurn
shutdown
start
startTurn
timeOut
trySimulating
waitForResponse
backToQueue(voteResults)
Возвращает игру в лобби. Оповещает игроков о результатах голосования.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
voteResults |
object
|
результаты голосования за рематч. |
continue() → {boolean}
Выполняет следующую стадию игры.
- Source:
Returns:
- Type:
-
boolean
Возвращает нужно ли продолжать игру, или ждать игроков.
doTurn() → {boolean}
Выполняет следующую стадию хода
- Source:
Returns:
- Type:
-
boolean
Возвращает нужно ли продолжать игру, или ждать игроков.
end()
Заканчивает игру, оповещает игроков и позволяет им голосовать за рематч
- Source:
getDefaultResults() → {objec}
Возвращает объект, в который будут записываться результаты игры.
- Source:
Returns:
- Type:
-
objec
getResults() → {object}
Возвращает результаты игры для передачи игрокам.
- Source:
Returns:
- Type:
-
object
hoverOutCard(player, cidopt)
Сообщает игрокам, что игрок убрал курсор с карты.
- Source:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
player |
Player
|
||
cid |
string
|
<optional> |
id карты |
hoverOverCard(player, cid)
Сообщает игрокам, что игрок держит курсор над определенной картой.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
player |
Player
|
|
cid |
string
|
id карты |
let(dirName, …players) → {boolean}
Позволяет игроку выполнить действие
- Source:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
dirName |
string
|
название выполняемого действия |
|
players |
Player
|
<repeatable> |
игроки, которым разрешено действовать |
Returns:
- Type:
-
boolean
Возвращает нужно ли продолжать игру, или ждать игроков.
recieveResponse(player, action)
Получает ответ от игрока асинхронно.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
player |
Player
|
|
action |
object
|
выполненное игроком действие |
recieveResponseSync(player, action)
Получает ответ от игрока синхронно.
Используется для тестов, асинхронность должна быть добавлена при вызове функции для корректной работы.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
player |
Player
|
|
action |
object
|
выполненное игроком действие |
rematch(voteResults)
Перезапускает игру. Оповещает игроков о результатах голосования.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
voteResults |
object
|
результаты голосования за рематч. |
resetSimulating()
Убирает статус симуляции, оповещает игроков.
- Source:
shutdown()
Преждевременное завершение игры. Не производит правильное отключение игроков, используется только, если все игроки боты.
- Source:
timeOut()
Выполняется по окончании таймера ответа игроков Выполняет случайное действие или продолжает игру
- Source:
trySimulating()
Если остались только боты, убираем игроков из списка ожидания ответа, чтобы ускорить игру.
- Source:
waitForResponse(time, players)
Ждет ответа от игроков.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
time |
number
|
время ожидания в секундах |
players |
Array.<Player>
|
игроки, которых нужно ждать |