コード例 #1
0
        // Конструктор
        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();
        }
コード例 #2
0
        // Разбор 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);
        }