Skip to content
Ananaskelly edited this page Apr 24, 2016 · 24 revisions

here load from server "games_beta"

or image

Users

  • id (int, autoincrement, связан 1:m c UserIngameInfo, UserGame, Token, m:m c User)
  • username (string) // имя пользователя
  • email (string) // электронная почта
  • password (string) // пароль
  • default_game_type_id (int, внешний ключ, связан с id таблицы Game Types)
  • default_game_private (bool) // 1 = игра приватная, 0 = игра доступна для просмотра
  • registration_date (date) // дата регистрации
  • last_visit (date) // дата последнего посещения ресурса
  • is_admin (bool) // является ли пользователь администратором

Games

  • id (int, autoincrement, связан 1:m с Board Info, Turn Info, User Games)
  • game_type_id (int, внешний ключ, связан с id таблицы Game Types)
  • private (bool) // 0 = игра публичная, 1 = игра приватная
  • time_started (datetime) // время начала игры
  • time_finished (datetime) // время завершения игры, если игра не завершена - принимает значение null
  • winner (tinyInteger) // 0 - ничья, 1 - победа игрока белых, 2 - победа игрока черных, null - игра не завершена
  • bonus (int) // количество рейтинговых очков (если игра рейтинговая), которые получает победитель и которые отнимаются у проигравшего

User Games

  • user_id (int, внешний ключ, связан с id таблицы Users)
  • game_id (int, внешний ключ, связан с id таблицы Games)
  • color (bool) // 0 = игрок играет за белые, 1 = игрок играет за черные

Turn Info

  • game_id (int, внешний ключ, связан с id таблицы Games)
  • turn_number (int) // номер хода
  • move (int) // запись хода в формате хххх, где х = 1..8
  • options (tinyInteger) // 00 - ничего, 0_ - номер фигуры (которую съели), 10 - короткая рокировка, 11 - длинная рокировка, 22 - взятие на проходе, 3_ - пешка стала фигурой
  • turn_start_time (datetime) // время начала текущего хода
  • user_turn (bool) // 0 = ход белых, 1 = ход черных

Board Info

  • game_id (int, внешний ключ, связан с id таблицы Games)
  • figure (int) // номер фигуры (0 - 5). 0 = пешка, 0X = пешка (которую заменили на фигуру X), ...details
  • position (tinyInteger) // [xy], x = 1...8, y = 1...8; x = y = 0 - если фигура сбита
  • color (bool) // 0 = белая, 1 = черная
  • special (bool) // default = 0, для короля и ладьи = 1 (если не ходили) и 0 (если ходили), для пешки = 1 (если сделала двойной ход на предыдущем ходу)
  • turn_number (int) // номер хода для данной позиции

Game Types

  • id (int, autoincrement, связан 1:m с UserIngameInfo, Game, User)
  • type_name (string) // название типа игры
  • time_on_turn (int) // время на ход для данного режима игры
  • is_rating (bool) // 0 = игра не рейтинговая, 1 = игра рейтинговая

User Ingame Info

  • type_id (int, внешний ключ, связан с id таблицы Game Types)
  • user_id (int, внешний ключ, связан с id таблицы Users)
  • game_rating (int) // рейтинг игрока, изначально равен 1000 (например)
  • games (int) // количество сыгранных игр
  • wins (int) // количество побед

Tokens

  • token (string, primary key)
  • user_id (int, внешний ключ, связан с id таблицы Users)
  • expiration_date (dateTime) // время жизни

Figure:

  • 0 - пешка
  • 1 - ладья
  • 2 - конь
  • 3 - слон
  • 4 - ферзь
  • 5 - король
Clone this wiki locally