예제 #1
0
        /// <summary>Task 4 Lesson 2
        /// Сделать проверку на задание размера экрана в классе Game.
        /// Если высота или ширина (Width, Height) больше 1000 или принимает отрицательное значение,
        /// выбросить исключение ArgumentOutOfRangeException().
        /// Инициализация игровой логики</summary>
        /// <param name="form">Игровая форма</param>
        public static void Initialize(Form form)
        {
            Width  = form.Width;
            Height = form.Height;

            __Context = BufferedGraphicsManager.Current;
            Graphics g = form.CreateGraphics();

            __Buffer = __Context.Allocate(g, new Rectangle(0, 0, Width, Height));

            __GameLog.LogGameStart(_Counter);
            __GameLogFile.LogGameStart(_Counter);
            __GameLog.Flush();
            __GameLogFile.Flush();

            __Timer = new Timer {
                Interval = __TimerInterval
            };
            __Timer.Tick += OnTimerTick;
            __Timer.Start();

            form.KeyDown += OnFormKeyDown;

            if (Width >= 1000 || Width < 0)
            {
                throw new ArgumentOutOfRangeException("Ширина экрана должна быть не меньше 0 и не больше 1000");
            }
            if (Height >= 1000 || Height < 0)
            {
                throw new ArgumentOutOfRangeException("Высота экрана должна быть не меньше 0 и не больше 1000");
            }
        }