// Конструктор public Game() { // Создаем объект хранящий и собирающий статистику gamescore = new Model.GameScore(Settings.Default.GameType, Settings.Default.Field); // Создаем игровой таймер timer = new DispatcherTimer(); // Интервал в секунду timer.Interval = TimeSpan.FromSeconds(1); // Задаем обработчик при достижении очередного интервала timer.Tick += timer_Tick; // Если игра на время if (gamescore.GameType == Utils.GameType.LimitedTime) { // Задаем количество игровых секунд remain = gameMaxTime; } else // Игра на количество ходов { remain = gameMaxMoves; } // На основе данных из настроек создаем поле соотв. размера switch (Settings.Default.Field) { case Utils.FieldType.Field17x19: field = new Field(17, 19); break; case Utils.FieldType.Field20x20: field = new Field(20, 20); break; default: field = new Field(10, 10); break; } // Готовим поле к старту PrepareGame(); }
// Разбор xml файла и построение объекта GameScore public static GameScore LoadScore(string fileName) { if (string.IsNullOrEmpty(fileName)) { return(default(GameScore)); } GameScore objectOut = null; try { using (var stream = new FileStream(fileName, FileMode.Open)) { XmlSerializer serializer = new XmlSerializer(typeof(GameScore)); objectOut = (GameScore)serializer.Deserialize(stream); } } catch (Exception ex) { Console.WriteLine("LoadScore exception: " + ex.Message); } return(objectOut); }