Esempio n. 1
0
 /// <summary>
 /// The main entry point for the application.
 /// </summary>
 static void Main(string[] args)
 {
     using (Asteroids game = new Asteroids())
     {
         game.Run();
     }
 }
Esempio n. 2
0
        // Declaration of collision between Asteroids and the Ship
        public Boolean shipCollision(Asteroids a)
        {
            Rectangle asteroidRec = new Rectangle(a.asteroidX, a.asteroidY, a.size, a.size);
            Rectangle shipRec     = new Rectangle(asteroidX, asteroidY, size, size);

            // Returns whether or not the two objects have collided
            return(asteroidRec.IntersectsWith(shipRec));
        }
Esempio n. 3
0
        public void UpdateAsteroid(Asteroid updatedAsteroid)
        {
            int id = updatedAsteroid.Id;

            if (Asteroids.ContainsKey(id))
            {
                Asteroids[id] = updatedAsteroid;
            }
        }
Esempio n. 4
0
        public static int Main(String[] args)
        {
            Asteroids asteroids = new Asteroids();

            Console.WriteLine("     Asteroids In Space      \n" +
                              "         Version 0.1         \n\n\n\n" +
                              "         Type START              ");
            String line = Console.ReadLine();
            if(line.Equals("START")) { asteroids.start(); }

            return 0;
        }
Esempio n. 5
0
        public void GameCleanUp()
        {
            var game = new PrivateObject(_game);

            var window = (RenderWindow)game.GetField("window");

            _game.CleanUp();

            window.Close();

            window.Dispose();

            _game = null;
        }
Esempio n. 6
0
        public void Initialise(int numberOfSpaceships, int numberOfAsteroids)
        {
            this.NextIdToAssign = 0;

            for (int i = 0; i < numberOfAsteroids; i++)
            {
                int id = NextIdToAssign;
                Asteroids.Add(id, new Asteroid(id));
            }

            for (int i = 0; i < numberOfSpaceships; i++)
            {
                int id = NextIdToAssign;
                Spaceships.Add(id, new Spaceship(id));
            }
        }
Esempio n. 7
0
 /// <summary>
 /// The main entry point for the application.
 /// </summary>
 static void Main(string[] args)
 {
     using (Asteroids game = new Asteroids())
     {
         try
         {
             game.Run();
         }
         catch (Exception e)
         {
             System.Console.WriteLine(e.Message);
             System.Console.WriteLine(e.Source);
             System.Console.WriteLine(e.TargetSite);
             System.Console.WriteLine(e.StackTrace);
         }
     }
 }
Esempio n. 8
0
        public Object GetObjectById(int id)
        {
            Object returnObject;

            if (Spaceships.ContainsKey(id))
            {
                returnObject = Spaceships[id];
            }
            else if (Asteroids.ContainsKey(id))
            {
                returnObject = Asteroids[id];
            }
            else
            {
                returnObject = new Object();
            }

            return(returnObject);
        }
Esempio n. 9
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            string message  = "Начать игру?";
            var    canResum = MessageBox.Show(message, "Start", MessageBoxButtons.YesNo);

            if (canResum == DialogResult.Yes)
            {
                string supportMessage =
                    "Управление: движение - стрелки, стрелять - пробел, лазер - ц, смена представления - п.";
                MessageBox.Show(supportMessage, "Control");

                Asteroids newForm = new Asteroids();

                Application.Run(newForm);
            }
            else
            {
                Application.Exit();
            }
        }
Esempio n. 10
0
 static void Main(string[] args)
 {
     using(Asteroids game = new Asteroids()) {
         game.Run();
     }
 }
Esempio n. 11
0
 static void Main()
 {
     using (var game = new Asteroids())
         game.Run();
 }
Esempio n. 12
0
        // create the game menu at a specific location
        public Menu(int x, int y, Asteroids game, SpaceShipSystem spaceShipSystem, GameSettings settings, ContentManager content)
        {
            if (content == null)
            {
                return;
            }

            // initialize menu colours
            m_titleColour      = new Color(255, 0, 0);
            m_unselectedColour = new Color(160, 160, 160);
            m_selectedColour   = new Color(255, 255, 255);
            m_arrowColour      = new Color(0, 255, 0);

            // initialize menu fonts
            m_titleFont = content.Load <SpriteFont>("TitleFont");
            m_menuFont  = content.Load <SpriteFont>("MenuFont");

            // initialize menu sounds
            m_scrollSound = content.Load <SoundEffect>("menu_scroll");
            m_selectSound = content.Load <SoundEffect>("menu_select");
            m_backSound   = content.Load <SoundEffect>("menu_back");

            // initialize main menu
            m_mainItems = new List <MenuItem>();
            m_mainItems.Add(new MenuItem("New Game", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_mainItems.Add(new MenuItem("Resume Game", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_mainItems.Add(new MenuItem("Options", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_mainItems.Add(new MenuItem("Controls", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_mainItems.Add(new MenuItem("Help", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_mainItems.Add(new MenuItem("Quit", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));

            // initialize new game sub-menu
            m_newGameItems = new List <MenuItem>();
            m_newGameItems.Add(new MenuItem("1 Player", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_newGameItems.Add(new MenuItem("2 Player", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_newGameItems.Add(new MenuItem("3 Player", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_newGameItems.Add(new MenuItem("4 Player", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_newGameItems.Add(new MenuItem("Back", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));

            // intitialize options sub-menu
            m_optionsItems = new List <MenuItem>();
            m_optionsItems.Add(new MenuItem("Music", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_optionsItems[0].addOption("On");
            m_optionsItems[0].addOption("Off");
            m_optionsItems.Add(new MenuItem("Back", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));

            // initialize controls sub-menu
            m_controlsItems = new List <MenuItem>();
            m_controlsItems.Add(new MenuItem("Player 1 ", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_controlsItems.Add(new MenuItem("Player 2", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_controlsItems.Add(new MenuItem("Player 3", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_controlsItems.Add(new MenuItem("Player 4", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_controlsItems.Add(new MenuItem("Back", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            for (int i = 0; i < 4; i++)
            {
                m_controlsItems[i].addOption("WSAD");
                m_controlsItems[i].addOption("Arrows");
                m_controlsItems[i].addOption("C1");
                m_controlsItems[i].addOption("C2");
                m_controlsItems[i].addOption("C3");
                m_controlsItems[i].addOption("C4");
            }

            // initialize help sub-menu
            m_helpItems = new List <MenuItem>();
            m_helpItems.Add(new MenuItem("Destroy the Asteroids... or each other!", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_helpItems.Add(new MenuItem("Big Asteroids = 5 Points", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_helpItems.Add(new MenuItem("Small Asteroids = 10 Points", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_helpItems.Add(new MenuItem("Space Ships = 50 Points", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_helpItems.Add(new MenuItem("Back", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));

            // initialize menu location
            xPos = x;
            yPos = y;

            m_settings = settings;
            m_game     = game;
            m_players  = spaceShipSystem;

            // initialize initial menu item option selections
            m_optionsItems[0].index = (settings.musicEnabled) ? 0 : 1;
            for (int i = 0; i < 4; i++)
            {
                int itemIndex = 0;
                switch (m_settings.getInputDevice(i))
                {
                case InputDevice.WSAD:
                    itemIndex = 0;
                    break;

                case InputDevice.Arrows:
                    itemIndex = 1;
                    break;

                case InputDevice.Controller1:
                    itemIndex = 2;
                    break;

                case InputDevice.Controller2:
                    itemIndex = 3;
                    break;

                case InputDevice.Controller3:
                    itemIndex = 4;
                    break;

                case InputDevice.Controller4:
                    itemIndex = 5;
                    break;
                }
                m_controlsItems[i].index = itemIndex;
            }
        }
Esempio n. 13
0
 // create the game menu at the default location
 public Menu(Asteroids game, SpaceShipSystem spaceShipSystem, GameSettings settings, ContentManager content)
     : this(150, 150, game, spaceShipSystem, settings, content)
 {
 }
Esempio n. 14
0
 public void GameInitialize()
 {
     _game = new Asteroids.Asteroids(800, 800, "Test", Color.Black);
 }
Esempio n. 15
0
        public void AsteroidControl()
        {
            // If enough time has passed, a new asteroid is created

            if (tickCounter >= asteroidInterval)
            {
                // Randomizes where the asteroid spawns from

                asteroidDirection = rand.Next(1, 5);

                // Declares the direction that the asteroid will travel

                switch (asteroidDirection)
                {
                case 1:
                    Asteroids newDownAsteroid = new Asteroids(asteroidSize, 245, 0, "Down");
                    asteroidList.Add(newDownAsteroid);
                    break;

                case 2:
                    Asteroids newLeftAsteroid = new Asteroids(asteroidSize, 0, 245, "Right");
                    asteroidList.Add(newLeftAsteroid);
                    break;

                case 3:
                    Asteroids newUpAsteroid = new Asteroids(asteroidSize, 245, 500, "Up");
                    asteroidList.Add(newUpAsteroid);
                    break;

                case 4:
                    Asteroids newRightAsteroid = new Asteroids(asteroidSize, 500, 245, "Left");
                    asteroidList.Add(newRightAsteroid);
                    break;
                }
                tickCounter = 0;
            }

            // Controls how the Asteroid moves

            foreach (Asteroids a in asteroidList)
            {
                if (a.direction == "Up")
                {
                    a.MoveUp(asteroidSpeed);
                }
                else if (a.direction == "Left")
                {
                    a.MoveLeft(asteroidSpeed);
                }
                else if (a.direction == "Down")
                {
                    a.MoveDown(asteroidSpeed);
                }
                else if (a.direction == "Right")
                {
                    a.MoveRight(asteroidSpeed);
                }
            }

            // Checks for a collision between the Ship and an Asteroid

            foreach (Asteroids a in asteroidList)
            {
                if (shipHitBox.shipCollision(a))
                {
                    // Plays a sound effect

                    if (OptionsScreen.setSoundOptions)
                    {
                        crashSound.Play();
                    }

                    // Stops the game and switches to the GameOverScreen

                    gameLoop.Stop();

                    Form f = this.FindForm();
                    f.Controls.Remove(this);
                    GameOverScreen gs = new GameOverScreen();
                    f.Controls.Add(gs);
                    return;
                }
            }

            // Checks for a collision between a Lazer and an Asteroid

            foreach (Lazers l in lazerList)
            {
                foreach (Asteroids a in asteroidList)
                {
                    if (a.lazerCollision(l))
                    {
                        // Removes the Lazer and Asteroid that collided from their respective lists

                        playerScore++;
                        asteroidList.Remove(a);
                        lazerList.Remove(l);
                        return;
                    }
                }
            }

            // Controls the frequency of which Asteroids spawn

            if (speedController >= 500 && levelCounter < 8)
            {
                // Plays a sound effect

                if (OptionsScreen.setSoundOptions)
                {
                    levelUpSound.Play();
                }

                // The higher the level, the more frequently that Asteroids spawn

                levelCounter++;
                asteroidInterval -= 3;
                speedController   = 0;
            }

            // Lets the user know that their level has increased

            levelUpLabel.Visible = false;
            if (speedController >= 0 && speedController <= 25 && levelCounter > 1 && totalFrameCounter > 200)
            {
                levelUpLabel.Visible = true;
            }
        }
Esempio n. 16
0
        static void Main()
        {
            Asteroids asteroidGame = new Asteroids(800, 800, "Asteroids", Color.Black);

            asteroidGame.Run();
        }
Esempio n. 17
0
        // create the game menu at a specific location
        public Menu(int x, int y, Asteroids game, SpaceShipSystem spaceShipSystem, GameSettings settings, ContentManager content)
        {
            if(content == null) { return; }

            // initialize menu colours
            m_titleColour = new Color(255, 0, 0);
            m_unselectedColour = new Color(160, 160, 160);
            m_selectedColour = new Color(255, 255, 255);
            m_arrowColour = new Color(0, 255, 0);

            // initialize menu fonts
            m_titleFont = content.Load<SpriteFont>("TitleFont");
            m_menuFont = content.Load<SpriteFont>("MenuFont");

            // initialize menu sounds
            m_scrollSound = content.Load<SoundEffect>("menu_scroll");
            m_selectSound = content.Load<SoundEffect>("menu_select");
            m_backSound = content.Load<SoundEffect>("menu_back");

            // initialize main menu
            m_mainItems = new List<MenuItem>();
            m_mainItems.Add(new MenuItem("New Game", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_mainItems.Add(new MenuItem("Resume Game", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_mainItems.Add(new MenuItem("Options", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_mainItems.Add(new MenuItem("Controls", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_mainItems.Add(new MenuItem("Help", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_mainItems.Add(new MenuItem("Quit", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));

            // initialize new game sub-menu
            m_newGameItems = new List<MenuItem>();
            m_newGameItems.Add(new MenuItem("1 Player", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_newGameItems.Add(new MenuItem("2 Player", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_newGameItems.Add(new MenuItem("3 Player", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_newGameItems.Add(new MenuItem("4 Player", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_newGameItems.Add(new MenuItem("Back", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));

            // intitialize options sub-menu
            m_optionsItems = new List<MenuItem>();
            m_optionsItems.Add(new MenuItem("Music", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_optionsItems[0].addOption("On");
            m_optionsItems[0].addOption("Off");
            m_optionsItems.Add(new MenuItem("Back", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));

            // initialize controls sub-menu
            m_controlsItems = new List<MenuItem>();
            m_controlsItems.Add(new MenuItem("Player 1 ", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_controlsItems.Add(new MenuItem("Player 2", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_controlsItems.Add(new MenuItem("Player 3", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_controlsItems.Add(new MenuItem("Player 4", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_controlsItems.Add(new MenuItem("Back", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            for(int i=0;i<4;i++) {
                m_controlsItems[i].addOption("WSAD");
                m_controlsItems[i].addOption("Arrows");
                m_controlsItems[i].addOption("C1");
                m_controlsItems[i].addOption("C2");
                m_controlsItems[i].addOption("C3");
                m_controlsItems[i].addOption("C4");
            }

            // initialize help sub-menu
            m_helpItems = new List<MenuItem>();
            m_helpItems.Add(new MenuItem("Destroy the Asteroids... or each other!", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_helpItems.Add(new MenuItem("Big Asteroids = 5 Points", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_helpItems.Add(new MenuItem("Small Asteroids = 10 Points", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_helpItems.Add(new MenuItem("Space Ships = 50 Points", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));
            m_helpItems.Add(new MenuItem("Back", m_menuFont, m_unselectedColour, m_selectedColour, m_arrowColour));

            // initialize menu location
            xPos = x;
            yPos = y;

            m_settings = settings;
            m_game = game;
            m_players = spaceShipSystem;

            // initialize initial menu item option selections
            m_optionsItems[0].index = (settings.musicEnabled) ? 0 : 1;
            for(int i=0;i<4;i++) {
                int itemIndex = 0;
                switch(m_settings.getInputDevice(i)) {
                    case InputDevice.WSAD:
                        itemIndex = 0;
                        break;
                    case InputDevice.Arrows:
                        itemIndex = 1;
                        break;
                    case InputDevice.Controller1:
                        itemIndex = 2;
                        break;
                    case InputDevice.Controller2:
                        itemIndex = 3;
                        break;
                    case InputDevice.Controller3:
                        itemIndex = 4;
                        break;
                    case InputDevice.Controller4:
                        itemIndex = 5;
                        break;
                }
                m_controlsItems[i].index = itemIndex;
            }
        }
Esempio n. 18
0
 // create the game menu at the default location
 public Menu(Asteroids game, SpaceShipSystem spaceShipSystem, GameSettings settings, ContentManager content) :
     this(150, 150, game, spaceShipSystem, settings, content)
 {
 }