Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Session

Hierarchy

  • Session

Index

Properties

gconfig

gconfig: { checks: { horiz: number[]; ldiag: number[]; rdiag: number[]; verti: number[] }; grid_len: number; num_players: number; size: number; win_req: number }

Type declaration

  • checks: { horiz: number[]; ldiag: number[]; rdiag: number[]; verti: number[] }
    • horiz: number[]
    • ldiag: number[]
    • rdiag: number[]
    • verti: number[]
  • grid_len: number
  • num_players: number
  • size: number
  • win_req: number

gui

gui: {}

Type declaration

isStarted

isStarted: boolean

max_players

max_players: number

num_players

num_players: number

num_spectators

num_spectators: number

online

online: boolean

player_ids

player_ids: any[]

spectators

spectators: any[]

state

state: {}

Type declaration

Methods

addPlayer

  • addPlayer(pid: string): void
  • adds a player to the session

    throws

    enums.started if session already started

    Parameters

    • pid: string

      player id to add

    Returns void

addSpectator

  • addSpectator(pid: any): void
  • adds spectator to the session

    Parameters

    • pid: any

    Returns void

getInfo

  • getInfo(): { cur: any; gconf: { checks: { horiz: number[]; ldiag: number[]; rdiag: number[]; verti: number[] }; grid_len: number; num_players: number; size: number; win_req: number }; maxPlys: number; numPlys: number; plyrs: any[]; specs: any[]; started: boolean; turn: any }
  • gets some info about the session used in displaying it in the gui

    Returns { cur: any; gconf: { checks: { horiz: number[]; ldiag: number[]; rdiag: number[]; verti: number[] }; grid_len: number; num_players: number; size: number; win_req: number }; maxPlys: number; numPlys: number; plyrs: any[]; specs: any[]; started: boolean; turn: any }

    • cur: any
    • gconf: { checks: { horiz: number[]; ldiag: number[]; rdiag: number[]; verti: number[] }; grid_len: number; num_players: number; size: number; win_req: number }
      • checks: { horiz: number[]; ldiag: number[]; rdiag: number[]; verti: number[] }
        • horiz: number[]
        • ldiag: number[]
        • rdiag: number[]
        • verti: number[]
      • grid_len: number
      • num_players: number
      • size: number
      • win_req: number
    • maxPlys: number
    • numPlys: number
    • plyrs: any[]
    • specs: any[]
    • started: boolean
    • turn: any

getState

  • getState(pid: string): {}
  • returns the game state if player is a spectator of the session

    throws

    enum.locked if player is not a spectator of the session

    Parameters

    • pid: string

      player id

    Returns {}

init

  • init(gconfig: {}): void
  • initializes the game state for the session

    Parameters

    • gconfig: {}

      if provided, will use gconfig to initialize, else default in utils/game_config.js

    Returns void

removeSpectator

  • removeSpectator(pid: any): void
  • removes spectator from the session

    Parameters

    • pid: any

    Returns void

restoreSession

  • restoreSession(state: {}): void
  • restores game session from saved game state

    Parameters

    • state: {}

      saved game state

    Returns void

setInput

  • setInput(pid: string, move: [number, number]): void
  • places move of player

    throws

    enum.locked if not player's turn

    Parameters

    • pid: string

      player id

    • move: [number, number]

      move

    Returns void

start

  • start(): void
  • starts the game session

    throws

    enums.started if game already started

    throws

    enums.error if game is not full yet

    Returns void

Generated using TypeDoc