Beispiel #1
0
        public override void LoadContent(ContentManager content)
        {
            #region teams
            Team TeamBlue = new Team(1, "blue", Color.Blue);
            Team TeamRed  = new Team(2, "red", Color.Red);
            #endregion
            font    = content.Load <SpriteFont>("font");
            texture = content.Load <Texture2D>("menu/textarea");
            #region arrows
            UpArrow    = content.Load <Texture2D>("menu/UpArrow");
            DownArrow  = content.Load <Texture2D>("menu/DownArrow");
            LeftArrow  = content.Load <Texture2D>("menu/LeftArrow");
            RightArrow = content.Load <Texture2D>("menu/RightArrow");
            #endregion
            ActivePic          = new WeaponPic(WeaponList[0], Center);
            PicPosition        = new Vector2(Position.X, 50 / 2);
            RightArrowPos      = new Vector2(Position.X + 150, Position.Y);
            LeftArrowPos       = new Vector2(PicPosition.X - 150, RightArrowPos.Y);
            WeaponTextPosition = new Vector2(PicPosition.X + 20, Center.Y - 80);

            #region players
            Players.Add(new Player(new Sprinter(), null, TeamBlue, new Azerty(), Position));
            Players.Add(new Player(new Sprinter(), null, TeamRed, new Azerty(), Position));
            Players[0].Pseudo = "";
            Players[1].Pseudo = "";
            Players[0].LoadContent(content);
            Players[1].LoadContent(content);
            #endregion
            ActiveColor  = Color.Blue;
            ActivePlayer = Players[0];
        }
Beispiel #2
0
        public void Update()
        {
            Draw(Game1.spriteBatch);
            KeyboardState kb = Keyboard.GetState();

            if (kb.IsKeyDown(Keys.Right) && WeaponCount < WeaponList.Count() - 1 && !wHold)
            {
                wHold = true;
                WeaponCount++;
                ActivePic           = new WeaponPic(WeaponList[WeaponCount], Center);
                ActivePlayer.weapon = WeaponList[WeaponCount];
                //draw la fleche
            }

            else if (kb.IsKeyDown(Keys.Left) && WeaponCount > 0 && !wHold)
            {
                wHold = true;
                WeaponCount--;
                ActivePic           = new WeaponPic(WeaponList[WeaponCount], Center);
                ActivePlayer.weapon = WeaponList[WeaponCount];
                //draw la fleche
            }
            if (kb.IsKeyUp(Keys.Left) && kb.IsKeyUp(Keys.Right))
            {
                wHold = false;
            }
            #region teamPicker
            if (kb.IsKeyDown(Keys.Up) && !tHold)
            {
                tHold = true;
                TeamCount++;
            }
            else if (kb.IsKeyDown(Keys.Down) && !tHold)
            {
                tHold = true;
                TeamCount--;
            }
            else if (kb.IsKeyUp(Keys.Down) && kb.IsKeyUp(Keys.Up))
            {
                tHold = false;
            }
            int index = TeamCount % 2 == 0 ? 0 : 1;
            ActiveColor                = TeamCount % 2 == 0 ? Color.Blue : Color.Red;
            ActivePlayer               = TeamCount % 2 == 0 ? Players[0] : Players[1];
            ActiveTeam                 = Team.TeamList[index];
            ActivePlayer.weapon        = WeaponList[WeaponCount];
            ActivePlayer.weapon.Holder = ActivePlayer;

            /*if (ActivePlayer.weapon != null)
             *  ActivePlayer.;*/
            ActivePlayer.UpdateSprite(Game1.gameTime);
            ActivePlayer.Control(Game1.gameTime);

            Draw(Game1.spriteBatch);
            #endregion
        }
Beispiel #3
0
        /// <summary>
        /// genere une arme aleatoire
        /// </summary>
        public void RandomObject()
        {
            Random rnd     = new Random();
            int    RandInt = rnd.Next(Weapon.List.Count <Weapon>());

            randomWeapon             = Weapon.List[RandInt];
            randomWeapon.Holder      = currentPlayer;
            randomWeapon.CurrentAmmo = randomWeapon.MagazineSize;
            weaponPic    = new WeaponPic(randomWeapon, Position);
            chrono       = DateTime.Now;
            TimerStarted = true;
            FoundRandom  = true;
        }
Beispiel #4
0
        public override void Update(GameTime gameTime)
        {
            if (this.SpriteCollision(currentPlayer.destinationRectangle))
            {
                this.pressButtonMsg = true;
                if (currentPlayer.Controls.Use && !isOpen)
                {
                    isOpen = true;
                }
            }
            else
            {
                this.pressButtonMsg = false;
            }
            if (isOpen)
            {
                if (!musicPlayed)
                {
                    sound.Play();
                    musicPlayed = true;
                }
                this.pressButtonMsg = false;
                currentRow          = 0; // sprite ouvert
                if (!FoundRandom)        // on va afficher les armes dans l'ordre
                {
                    if (!tempoStarted)
                    {
                        tempo        = DateTime.Now;
                        tempoStarted = true;
                        fakewPic     = new WeaponPic(Weapon.List[currentFake], Position);
                    }
                    else
                    {
                        if (currentFake < Weapon.List.Length)
                        {
                            if (DateTime.Now > tempo.AddMilliseconds(tempoDuration))
                            {
                                tempoStarted = false;
                                GamePage.PicList.Remove(fakewPic);
                                currentFake++;
                                if (currentFake >= Weapon.List.Length) // si on a affiche toutes les armes, on en prend une vraie au hasard
                                {
                                    RandomObject();
                                }
                            }
                        }
                    }
                }
                else if (SpriteCollision(currentPlayer.destinationRectangle)) // si le joueur est sur la boite et qu'il peut prendre l'arme
                {
                    weaponPic.takeMsg = true;
                    if (currentPlayer.Controls.Use)
                    {
                        interract(currentPlayer);
                    }
                }

                if (TimerStarted)
                {
                    if (DateTime.Now > chrono.AddSeconds(chronoDuration))
                    {
                        GamePage.PicList.Remove(weaponPic);
                        GamePage.BonusList.Remove(this);
                    }
                    if (!SpriteCollision(currentPlayer.destinationRectangle))
                    {
                        weaponPic.takeMsg = false;
                    }
                }
            }
        }
Beispiel #5
0
        public override void Draw(SpriteBatch spriteBatch)
        {
            spriteBatch.End();
            var viewMatrix = camera.GetViewMatrix(this);

            spriteBatch.Begin(transformMatrix: viewMatrix);

            bgPosition = camera.Origin;
            //spriteBatch.Draw(bgtexture, bgPosition, Color.White);

            map.Draw(spriteBatch);

            #region Drawing and updating Bonuses
            for (var i = 0; i < BonusList.Count; i++)
            {
                var currentBonus = BonusList[i];
                currentBonus.Draw(spriteBatch);
                currentBonus.Update(Game1.gameTime);
                currentBonus.UpdateSprite(Game1.gameTime);
            }
            #endregion

            #region Drawing and updating bullets
            for (var i = 0; i < Bullet.BulletList.Count; i++)
            {
                Bullet currentBullet = (Bullet)Bullet.BulletList[i];
                currentBullet.Update(Game1.gameTime, 32, mapWidth, mapHeight, map.BCollisionLayer);
                currentBullet.Draw(spriteBatch);
            }
            #endregion

            #region Drawing and updating players
            Player bad_player = PlayerList.Find(x => x.Id == 0);
            if (bad_player != null)
            {
                PlayerList.Remove(bad_player);
            }
            for (var i = 0; i < PlayersToDraw.Count; i++)
            {
                Player player = PlayersToDraw[i];
                player.Control(Game1.gameTime, 32, mapWidth, mapHeight, map.PCollisionLayer);
            }

            for (var i = 0; i < PlayersToDraw.Count; i++)
            {
                Player player = PlayersToDraw[i];
                player.healthBar.Draw(spriteBatch);
                player.DrawCharacter(Game1.spriteBatch);
            }

            #endregion

            #region Drawing WeaponPics
            for (var i = 0; i < GamePage.PicList.Count; i++)
            {
                if (GamePage.PicList[i] is WeaponPic)
                {
                    WeaponPic weaponPic = (WeaponPic)GamePage.PicList[i];
                    weaponPic.Draw(spriteBatch);
                }
                else if (GamePage.PicList[i] is ClothPic)
                {
                    ClothPic clothPic = (ClothPic)GamePage.PicList[i];
                    clothPic.Draw(spriteBatch);
                }
            }
            #endregion
            spriteBatch.End();   // fin spritebatch

            spriteBatch.Begin(); // tout ce qui ne bouge pas avec la camera

            overlay.Draw(spriteBatch);
            #region drawing clothes to body

            for (var i = 0; i < player.ClothesList.Length; i++)
            {
                if (player.ClothesList[i] != null)
                {
                    player.ClothesList[i].Draw(spriteBatch);
                }
            }
            DrawTeamScores(spriteBatch);
            scOverlay.Draw(spriteBatch);
            #endregion
        }