Beispiel #1
0
        /// <summary>
        /// Allows the game to run logic such as updating the world,
        /// checking for collisions, gathering input, and playing audio.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Update(GameTime gameTime)
        {
            #region PADCONTROL
            // Allows the game to exit
            if ((GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) ||
                Keyboard.GetState().IsKeyDown(Keys.Escape))
            {
                this.Exit();
            }

            /*if (GamePad.GetState(PlayerIndex.One).Buttons.A == ButtonState.Pressed)
             *  colorin = Color.Green;
             * if (GamePad.GetState(PlayerIndex.One).Buttons.B == ButtonState.Pressed)
             *  colorin = Color.Red;
             * if (GamePad.GetState(PlayerIndex.One).Buttons.Y == ButtonState.Pressed)
             *  colorin = Color.Yellow;
             * if (GamePad.GetState(PlayerIndex.One).Buttons.X == ButtonState.Pressed)
             *  colorin = Color.Blue;
             * if (GamePad.GetState(PlayerIndex.One).Buttons.RightShoulder == ButtonState.Pressed)
             *  colorin = Color.Violet;
             * if (GamePad.GetState(PlayerIndex.One).Buttons.LeftShoulder == ButtonState.Pressed)
             *  colorin = Color.Purple;
             * if (GamePad.GetState(PlayerIndex.One).Buttons.Start == ButtonState.Pressed)
             *  colorin = Color.White;
             * if (GamePad.GetState(PlayerIndex.One).Triggers.Right == 1f)
             *  colorin = Color.Pink;
             * if (GamePad.GetState(PlayerIndex.One).Triggers.Left == 1f)
             *  colorin = Color.Orange;
             * /*     if (GamePad.GetState(PlayerIndex.One).DPad.Right == ButtonState.Pressed)
             *  colorin = Color.Orchid;
             * if (GamePad.GetState(PlayerIndex.One).DPad.Down == ButtonState.Pressed)
             *  colorin = Color.Maroon;
             * if (GamePad.GetState(PlayerIndex.One).DPad.Left == ButtonState.Pressed)
             *  colorin = Color.Gold;
             * if (GamePad.GetState(PlayerIndex.One).DPad.Up == ButtonState.Pressed)
             *  colorin = Color.Cyan;*/
            #endregion
            // TODO: Add your update logic here

            DoLogic();

            int            count         = 0;
            int            countInvasor  = 0;
            int            countComplete = 0;
            int            countShoot    = 0;
            int            countTank     = 0;
            List <Invasor> list          = new List <Invasor>();

            #region CONTADOR COMPONENTES
            foreach (GameComponent gc in Components)
            {
                if (gc is Background)
                {
                    count++;
                }
                if (gc is Shoot)
                {
                    countShoot++;
                }
                if (gc is Invasor)
                {
                    countInvasor++;
                    if (countInvasor == 1 &&
                        ((Invasor)gc).die)
                    {
                        // countInvasor = 0;
                        //    list.Add((Invasor)gc);
                    }
                }
                if (gc is Tank)
                {
                    countTank++;
                }
            }
            if (countTank == 0)
            {
                player = new Tank(this, ref tank, screen);
                Components.Add(player);
                player.PutinStartPosition();
            }

            if (count == 0)
            {
                Exit();
            }
            if (countInvasor == 0)
            {
                //countComplete++;
                countComplete = 1;
                invasorsManager.SheetInvaders(this, ref invasor);
                #region SELECT DIFFICULTY
                switch (countComplete)
                {
                case 1:
                {
                    invasorsManager.SelectDifficult(difficult.normal.ToString());
                    break;
                }

                case 2:
                {
                    invasorsManager.SelectDifficult(difficult.hard.ToString());
                    break;
                }

                default:
                {
                    invasorsManager.SelectDifficult(difficult.insane.ToString());
                    break;
                }
                }
                #endregion
            }

            #endregion

            if (ufoBonus)
            {
                UfoBonusYes();
            }

            base.Update(gameTime);
        }
Beispiel #2
0
        /// <summary>
        /// Allows the game to run logic such as updating the world,
        /// checking for collisions, gathering input, and playing audio.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Update(GameTime gameTime)
        {
            #region PADCONTROL
            // Allows the game to exit
            if ((GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) ||
                Keyboard.GetState().IsKeyDown(Keys.Escape))
                this.Exit();
            /*if (GamePad.GetState(PlayerIndex.One).Buttons.A == ButtonState.Pressed)
                colorin = Color.Green;
            if (GamePad.GetState(PlayerIndex.One).Buttons.B == ButtonState.Pressed)
                colorin = Color.Red;
            if (GamePad.GetState(PlayerIndex.One).Buttons.Y == ButtonState.Pressed)
                colorin = Color.Yellow;
            if (GamePad.GetState(PlayerIndex.One).Buttons.X == ButtonState.Pressed)
                colorin = Color.Blue;
            if (GamePad.GetState(PlayerIndex.One).Buttons.RightShoulder == ButtonState.Pressed)
                colorin = Color.Violet;
            if (GamePad.GetState(PlayerIndex.One).Buttons.LeftShoulder == ButtonState.Pressed)
                colorin = Color.Purple;
            if (GamePad.GetState(PlayerIndex.One).Buttons.Start == ButtonState.Pressed)
                colorin = Color.White;
            if (GamePad.GetState(PlayerIndex.One).Triggers.Right == 1f)
                colorin = Color.Pink;
            if (GamePad.GetState(PlayerIndex.One).Triggers.Left == 1f)
                colorin = Color.Orange;
               /*     if (GamePad.GetState(PlayerIndex.One).DPad.Right == ButtonState.Pressed)
                colorin = Color.Orchid;
            if (GamePad.GetState(PlayerIndex.One).DPad.Down == ButtonState.Pressed)
                colorin = Color.Maroon;
            if (GamePad.GetState(PlayerIndex.One).DPad.Left == ButtonState.Pressed)
                colorin = Color.Gold;
            if (GamePad.GetState(PlayerIndex.One).DPad.Up == ButtonState.Pressed)
                colorin = Color.Cyan;*/
            #endregion
            // TODO: Add your update logic here

            DoLogic();

            int count = 0;
            int countInvasor = 0;
            int countComplete = 0;
            int countShoot = 0;
            int countTank = 0;
            List<Invasor> list = new List<Invasor>();

            #region CONTADOR COMPONENTES
            foreach (GameComponent gc in Components)
            {
                if (gc is Background)
                    count++;
                if (gc is Shoot)
                    countShoot++;
                if (gc is Invasor)
                {
                    countInvasor++;
                    if (countInvasor == 1
                        && ((Invasor)gc).die)
                    {
                       // countInvasor = 0;
                    //    list.Add((Invasor)gc);
                    }
                }
                if (gc is Tank)
                {
                    countTank++;
                }
            }
            if (countTank == 0)
            {
                player = new Tank(this, ref tank, screen);
                Components.Add(player);
                player.PutinStartPosition();
            }

            if (count == 0)
                Exit();
            if (countInvasor == 0)
            {
                //countComplete++;
                countComplete = 1;
                invasorsManager.SheetInvaders(this, ref invasor);
                #region SELECT DIFFICULTY
                switch (countComplete)
                {
                    case 1:
                        {
                            invasorsManager.SelectDifficult(difficult.normal.ToString());
                            break;
                        }
                    case 2:
                        {
                            invasorsManager.SelectDifficult(difficult.hard.ToString());
                            break;
                        }
                    default:
                        {
                            invasorsManager.SelectDifficult(difficult.insane.ToString());
                            break;
                        }
                }
                #endregion
            }

            #endregion

            if (ufoBonus)
                UfoBonusYes();

            base.Update(gameTime);
        }
Beispiel #3
0
        /// <summary>
        /// Allows the game to perform any initialization it needs to before starting to run.
        /// This is where it can query for any required services and load any non-graphic
        /// related content.  Calling base.Initialize will enumerate through any components
        /// and initialize them as well.
        /// </summary>
        protected override void Initialize()
        {
            #region ISWIDESCREEN
            if (!GraphicsAdapter.DefaultAdapter.IsWideScreen)
            {
                if (graphics.GraphicsDevice.DisplayMode.AspectRatio == 1.25f)
                {
                    ASPECTHD          = 16.0f / 9.0f;
                    ASPECTSD          = 5f / 4f;
                    ASPECTWIDTHRATIO  = 1280f / 1280f;
                    ASPECTHEIGHTRATIO = 1024f / 720f;
                    ASPECTRATIO       = ASPECTSD / ASPECTHD;
                    VIEWPORTHEIGHT    = 720f;
                    VIEWPORTWIDTH     = 1280f;
                }
                else
                {
                    ASPECTHD          = 16.0f / 9.0f;
                    ASPECTSD          = 4f / 3f;
                    ASPECTWIDTHRATIO  = 1024f / 1280f;
                    ASPECTHEIGHTRATIO = 1024f / 720f;
                    ASPECTRATIO       = ASPECTSD / ASPECTHD;
                    VIEWPORTHEIGHT    = 720f;
                    VIEWPORTWIDTH     = 1280;
                }
            }
            #endregion

            #region BACKGROUND
            tileMap          = Content.Load <Texture2D>(@"Barrier\" + nameTileMap);
            backgoundManager = new BackgroundPixelManager(this, ref tileMap, screen);
            Components.Add(backgoundManager);
            #endregion

            #region TANK
            tank   = Content.Load <Texture2D>(@"Tank\" + nameTank);
            player = new Tank(this, ref tank, screen);
            Components.Add(player);
            player.PutinStartPosition();
            #endregion

            #region INVASOR
            invasor         = Content.Load <Texture2D>(@"Invasors\" + nameInvasor);
            invasorsManager = new InvasorsManager(this, ref invasor, difficult.normal.ToString());
            Components.Add(invasorsManager);
            #endregion

            #region UFO
            ufo_t = Content.Load <Texture2D>(@"Ufo\" + "ufo_sheet");
            ufo   = new Ufo(this, ref ufo_t);
            Components.Add(ufo);
            ufo.PutinStartPosition();
            #endregion

            #region PENTAGRAM
            pentagam_sheet = Content.Load <Texture2D>(@"Pentagram\pentagram_sheet");
            pentagramP1    = new Pentagram(this, ref pentagam_sheet, Vector2.Zero);
            pentagramP2    = new Pentagram(this, ref pentagam_sheet, new Vector2(1280 - 120, 0));
            Components.Add(pentagramP1);
            Components.Add(pentagramP2);
            #endregion

            base.Initialize();
        }
Beispiel #4
0
        /// <summary>
        /// Allows the game to perform any initialization it needs to before starting to run.
        /// This is where it can query for any required services and load any non-graphic
        /// related content.  Calling base.Initialize will enumerate through any components
        /// and initialize them as well.
        /// </summary>
        protected override void Initialize()
        {
            #region ISWIDESCREEN
            if (!GraphicsAdapter.DefaultAdapter.IsWideScreen)
            {
                if (graphics.GraphicsDevice.DisplayMode.AspectRatio == 1.25f)
                {
                    ASPECTHD = 16.0f / 9.0f;
                    ASPECTSD = 5f / 4f;
                    ASPECTWIDTHRATIO = 1280f / 1280f;
                    ASPECTHEIGHTRATIO = 1024f / 720f;
                    ASPECTRATIO = ASPECTSD / ASPECTHD;
                    VIEWPORTHEIGHT = 720f;
                    VIEWPORTWIDTH = 1280f;
                }
                else
                {
                    ASPECTHD = 16.0f / 9.0f;
                    ASPECTSD = 4f / 3f;
                    ASPECTWIDTHRATIO = 1024f / 1280f;
                    ASPECTHEIGHTRATIO = 1024f / 720f;
                    ASPECTRATIO = ASPECTSD / ASPECTHD;
                    VIEWPORTHEIGHT = 720f;
                    VIEWPORTWIDTH = 1280;
                }

            }
            #endregion

            #region BACKGROUND
            tileMap = Content.Load<Texture2D>(@"Barrier\" + nameTileMap);
            backgoundManager = new BackgroundPixelManager(this, ref tileMap, screen);
            Components.Add(backgoundManager);
            #endregion

            #region TANK
            tank = Content.Load<Texture2D>(@"Tank\" + nameTank);
            player = new Tank(this, ref tank, screen);
            Components.Add(player);
            player.PutinStartPosition();
            #endregion

            #region INVASOR
            invasor = Content.Load<Texture2D>(@"Invasors\" + nameInvasor);
            invasorsManager = new InvasorsManager(this, ref invasor, difficult.normal.ToString());
            Components.Add(invasorsManager);
            #endregion

            #region UFO
            ufo_t = Content.Load<Texture2D>(@"Ufo\" + "ufo_sheet");
            ufo = new Ufo(this, ref ufo_t);
            Components.Add(ufo);
            ufo.PutinStartPosition();
            #endregion

            #region PENTAGRAM
            pentagam_sheet = Content.Load<Texture2D>(@"Pentagram\pentagram_sheet");
            pentagramP1 = new Pentagram(this, ref pentagam_sheet, Vector2.Zero);
            pentagramP2 = new Pentagram(this, ref pentagam_sheet, new Vector2(1280 - 120,0));
            Components.Add(pentagramP1);
            Components.Add(pentagramP2);
            #endregion

            base.Initialize();
        }