コード例 #1
0
        /// <summary>Инициализация игровой логики</summary>
        /// <param name="form">Игровая форма</param>
        public static void Init(StarWarsForm form)
        {
            Width  = form.Width;
            Height = form.Height;

            __Context = BufferedGraphicsManager.Current;

            var graphics = form.CreateGraphics();

            Buffer = __Context.Allocate(graphics, new Rectangle(0, 0, Width, Height));

            __Timer.Tick   += OnTimerTick;
            __Timer.Enabled = true;
        }
コード例 #2
0
        private static void Main()
        {
            #region Активация стилей оформления пользовательского интерфейса для приложения Win-Forms
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            #endregion


            #region Запуск игры
            Application.Run(new SplashScreen());

            var login_window = new LoginWindow();
            Application.Run(login_window);
            var user_name = login_window.UserNameTextBox.Text;

            #endregion


            #region Игровая логика
            // Создаём главную форму
            StarWarsForm game_form = new StarWarsForm
            {
                Width           = 1024,
                Height          = 768,
                FormBorderStyle = FormBorderStyle.FixedSingle // Запрещаем ей менять свои размеры
            };

            Game.Load(game_form);  // Загрузка данных игровой логики
            Game.Init(game_form);  // Инициализация игровой логики

            game_form.Show();      // Показываем форму на экране

            //Game.Draw();         // Отрисовываем кадр

            Application.Run(game_form); // Запускаем процесс обработки очереди сообщений Windows
            #endregion
        }
コード例 #3
0
        /*static Button btnNew;
         * static Button btnRecords;
         * static Button btnExit;*/

        /// <summary>Загрузка данных игровой логики</summary>
        public static void Load(StarWarsForm form)
        {
            Width  = form.Width;
            Height = form.Height;

            __GameObjects = new GameObject[30];


            var rnd = new Random();

            //Звезды
            for (var i = 0; i < __GameObjects.Length; i++)
            {
                int r    = rnd.Next(5, 50);
                var size = rnd.Next(10, 30);
                __GameObjects[i] = new Star(
                    new BaseObjectParams
                {
                    Position = new Point(Width, (rnd.Next(0, Height))),
                    Speed    = new Point(rnd.Next(0, i), 0),
                    Size     = new Size(size, size)
                },
                    rnd.Next(0, 5));
            }

            //Астероиды
            const int asteroids_count = 10;

            __Asteroids = new Asteroid[asteroids_count];

            for (var i = 0; i < asteroids_count; i++)
            {
                var speed = rnd.Next(3, 10);

                var Power = rnd.Next(Asteroid.powerMin, Asteroid.powerMax);

                __Asteroids[i] = new Asteroid(
                    new BaseObjectParams
                {
                    Position = new Point(rnd.Next(0, Width), rnd.Next(0, Height)),
                    Speed    = new Point(speed, (rnd.Next(1, speed) % 2 == 0) ? -rnd.Next(1, speed): rnd.Next(1, speed)),
                    //параметр зависит от Power
                    Size = new Size(0, 0)
                },
                    Power
                    );
            }


            //Пули
            const int BulletPower = 1;

            __Bullet = new Bullet(
                new BaseObjectParams
            {
                Position = new Point(0, 200),
                Speed    = new Point(3, 0),
                Size     = new Size(4, 1)
            },
                BulletPower);
        }