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]; }
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 }
/// <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; }
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; } } } }
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 }