/
anya155
/
Bingo
Обзор
Документация
Войти
/
anya155
/
Bingo
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Data/GameState.cs
90 строк
3 KB
Ksenia Rozhkina
добавление комментариев
20 дек 2025, 12:10
20 дек 2025, 12:10
21fd118
Код
Авторство
О чём код?
using LotoGame.Models; using System.Text.Json.Serialization; namespace LotoGame.Data { /// <summary> /// Состояние игры для сохранения и загрузки. /// </summary> public class GameState { /// <summary> /// Получает или задает список игроков. /// </summary> public List<Player> Players { get; set; } = new List<Player>(); /// <summary> /// Получает или задает мешок с бочонками. /// </summary> public BarrelBag BarrelBag { get; set; } = new BarrelBag(); /// <summary> /// Получает или задает текущий ход. /// </summary> public int CurrentTurn { get; set; } = 1; /// <summary> /// Получает или задает историю вытянутых бочонков. /// </summary> public List<int> History { get; set; } = new List<int>(); /// <summary> /// Получает или задает значение, завершена ли игра. /// </summary> public bool IsGameOver { get; set; } = false; /// <summary> /// Получает или задает победителя. /// </summary> public Player? Winner { get; set; } /// <summary> /// Получает или задает настройки игры. /// </summary> public GameSettings Settings { get; set; } = new GameSettings(); /// <summary> /// Получает или задает дату сохранения. /// </summary> public DateTime SaveDate { get; set; } = DateTime.Now; /// <summary> /// Инициализирует новый экземпляр класса <see cref="GameState"/>. /// </summary> /// <param name="players">Список игроков.</param> /// <param name="barrelBag">Мешок с бочонками.</param> /// <param name="currentTurn">Текущий ход.</param> /// <param name="history">История вытянутых бочонков.</param> /// <param name="isGameOver">Игра завершена.</param> /// <param name="winner">Победитель.</param> /// <param name="settings">Настройки игры.</param> /// <param name="saveDate">Дата сохранения.</param> [JsonConstructor] public GameState( List<Player> players, BarrelBag barrelBag, int currentTurn, List<int> history, bool isGameOver, Player? winner, GameSettings settings, DateTime saveDate) { Players = players ?? new List<Player>(); BarrelBag = barrelBag ?? new BarrelBag(); CurrentTurn = currentTurn; History = history ?? new List<int>(); IsGameOver = isGameOver; Winner = winner; Settings = settings ?? new GameSettings(); SaveDate = saveDate; } /// <summary> /// Инициализирует новый экземпляр класса <see cref="GameState"/>. /// </summary> public GameState() { } } }