public void Update(Game game,ContentManager content, SpriteBatch spriteBatch, SpriteFont font, Player playerOne, List<Sprite> enemies, EnemyShots enemyShots, PlayerShots playerShots, List<Sprite> randomObjects, List<HealthBar> healthBars, Sprite playerOneSprite, GraphicsDeviceManager graphics, Player playerTwo = null, Sprite playerTwoSprite = null) { this.enemies = enemies; this.enemyShots = enemyShots; this.playerShots = playerShots; this.playerOneSprite = playerOneSprite; this.dinosaurOne = playerOne; this.playerTwoSprite = playerTwoSprite; this.dinosaurTwo = playerTwo; _halfScreenHeight = graphics.PreferredBackBufferHeight / 1.5f; gdm = graphics; sb = spriteBatch; cm = content; explosionSound = cm.Load<SoundEffect>("Sounds/explosion"); laserPowerupSound = cm.Load<SoundEffect>("Sounds/Few"); healthPowerupSound = cm.Load<SoundEffect>("Sounds/Few"); enemyHit = cm.Load<SoundEffect>("Sounds/Few"); playerHit = cm.Load<SoundEffect>("sounds/Punch"); if (!playerOneSprite.IsInvincible) { CheckIfEnemyHitsPlayer(); } CheckIfPowerupHitsPlayer(); CheckIfPlayerHitSomething(game, spriteBatch, content, healthBars); checkIfPlayerIsHitByGroundItem(randomObjects); }
public PlayerShots(ContentManager content, Player dinoOne, Sprite playerOneSprite, Player dinoTwo = null, Sprite playerTwoSprite = null) { shotsOne = new List<Vector2>(); playerOneShotImage = content.Load<Texture2D>("Images/laserPurple"); playerShot = content.Load<SoundEffect>("Sounds/laser"); dinosaurOne = dinoOne; playerOne = playerOneSprite; if (dinoTwo != null && playerTwoSprite != null) { shotsTwo = new List<Vector2>(); playerTwoShotImage = content.Load<Texture2D>("Images/laserBlue"); dinosaurTwo = dinoTwo; playerTwo = playerTwoSprite; } }
public void FireOne(Player dinosaur) { if (dinosaur.LasersPowerLevel == 1) { shotsOne.Add(playerOne.Position - Vector2.UnitY * 100 - Vector2.UnitX * 4); } else if (dinosaur.LasersPowerLevel == 2) { if (dinosaur.dinoChosen == Player.Chara.Ptera) { shotsOne.Add(playerOne.Position - Vector2.UnitY * 30 - Vector2.UnitX * (4 - 40)); shotsOne.Add(playerOne.Position - Vector2.UnitY * 30 - Vector2.UnitX * (4 + 20)); } else if (dinosaur.dinoChosen == Player.Chara.Trex) { shotsOne.Add(playerOne.Position - Vector2.UnitY * 45 - Vector2.UnitX * (4 - 10)); shotsOne.Add(playerOne.Position - Vector2.UnitY * 45 - Vector2.UnitX * (4 + 20)); } else if (dinosaur.dinoChosen == Player.Chara.Cera) { shotsOne.Add(playerOne.Position - Vector2.UnitY * 85 - Vector2.UnitX * (4 - 10)); shotsOne.Add(playerOne.Position - Vector2.UnitY * 85 - Vector2.UnitX * (4 + 12)); } else if (dinosaur.dinoChosen == Player.Chara.Bronto) { shotsOne.Add(playerOne.Position - Vector2.UnitY * 100 - Vector2.UnitX * (4 - 5)); shotsOne.Add(playerOne.Position - Vector2.UnitY * 100 - Vector2.UnitX * (4 + 5)); } } else if (dinosaur.LasersPowerLevel == 3) { if (dinosaur.dinoChosen == Player.Chara.Ptera) { shotsOne.Add(playerOne.Position - Vector2.UnitY * 30 - Vector2.UnitX * (4 - 43)); shotsOne.Add(playerOne.Position - Vector2.UnitY * 30 - Vector2.UnitX * (4 + 17)); shotsOne.Add(playerOne.Position - Vector2.UnitY * 30 - Vector2.UnitX * (4 - 37)); shotsOne.Add(playerOne.Position - Vector2.UnitY * 30 - Vector2.UnitX * (4 + 23)); } else if (dinosaur.dinoChosen == Player.Chara.Trex) { shotsOne.Add(playerOne.Position - Vector2.UnitY * 45 - Vector2.UnitX * (4 - 7)); shotsOne.Add(playerOne.Position - Vector2.UnitY * 45 - Vector2.UnitX * (4 + 17)); shotsOne.Add(playerOne.Position - Vector2.UnitY * 45 - Vector2.UnitX * (4 - 13)); shotsOne.Add(playerOne.Position - Vector2.UnitY * 45 - Vector2.UnitX * (4 + 23)); } else if (dinosaur.dinoChosen == Player.Chara.Cera) { shotsOne.Add(playerOne.Position - Vector2.UnitY * 85 - Vector2.UnitX * (4 - 7)); shotsOne.Add(playerOne.Position - Vector2.UnitY * 85 - Vector2.UnitX * (4 + 9)); shotsOne.Add(playerOne.Position - Vector2.UnitY * 85 - Vector2.UnitX * (4 - 13)); shotsOne.Add(playerOne.Position - Vector2.UnitY * 85 - Vector2.UnitX * (4 + 15)); } else if (dinosaur.dinoChosen == Player.Chara.Bronto) { shotsOne.Add(playerOne.Position - Vector2.UnitY * 100 - Vector2.UnitX * (4 - 8)); shotsOne.Add(playerOne.Position - Vector2.UnitY * 100 - Vector2.UnitX * (4 + 8)); shotsOne.Add(playerOne.Position - Vector2.UnitY * 100 - Vector2.UnitX * (4 - 2)); shotsOne.Add(playerOne.Position - Vector2.UnitY * 100 - Vector2.UnitX * (4 + 2)); } } else if (dinosaur.LasersPowerLevel == 4) { shotsOne.Add(playerOne.Position - Vector2.UnitY * 100 - Vector2.UnitX * (4 - 20)); shotsOne.Add(playerOne.Position - Vector2.UnitY * 100 - Vector2.UnitX * (4 + 20)); shotsOne.Add(playerOne.Position - Vector2.UnitY * 40 - Vector2.UnitX * 50); shotsOne.Add(playerOne.Position - Vector2.UnitY * 40 + Vector2.UnitX * 40); shotsOne.Add(playerOne.Position - Vector2.UnitY * (100 - 80) - Vector2.UnitX * (4 - 20)); shotsOne.Add(playerOne.Position - Vector2.UnitY * (100 - 80) - Vector2.UnitX * (4 + 20)); } else if (dinosaur.LasersPowerLevel == 5) { shotsOne.Add(playerOne.Position - Vector2.UnitY * 100 - Vector2.UnitX * (4 - 20)); shotsOne.Add(playerOne.Position - Vector2.UnitY * 100 - Vector2.UnitX * (4 + 20)); shotsOne.Add(playerOne.Position - Vector2.UnitY * 40 - Vector2.UnitX * 50); shotsOne.Add(playerOne.Position - Vector2.UnitY * 40 + Vector2.UnitX * 40); shotsOne.Add(playerOne.Position - Vector2.UnitY * (100 - 80) - Vector2.UnitX * (4 - 20)); shotsOne.Add(playerOne.Position - Vector2.UnitY * (100 - 80) - Vector2.UnitX * (4 + 20)); shotsOne.Add(playerOne.Position - Vector2.UnitY * 100 - Vector2.UnitX * (4 - 40)); shotsOne.Add(playerOne.Position - Vector2.UnitY * 100 - Vector2.UnitX * (4 + 40)); } playerShot.Play(); }
private Vector2 hardAIMovement(GraphicsDeviceManager graphics, Vector2 position, Vector2 movement, float speed ,Sprite playerOneSprite, Sprite playerTwoSprite = null, Player one = null, Player two = null) { if (playerTwoSprite == null) { TargetPlayerOne = true; } if (TargetPlayerOne) { if (position.X > playerOneSprite.Position.X + 10 && position.X < graphics.PreferredBackBufferWidth) { movement.X = -speed; } else if (position.X < playerOneSprite.Position.X - 10 && position.X > 0) { movement.X = speed; } if (one.Health == 0 && playerTwoSprite != null) { TargetPlayerOne = false; } } else { if (playerTwoSprite != null) { if (position.X > playerTwoSprite.Position.X + 10 && position.X < graphics.PreferredBackBufferWidth) { movement.X = -speed; } else if (position.X < playerTwoSprite.Position.X - 10 && position.X > 0) { movement.X = speed; } if (two.Health == 0) { TargetPlayerOne = true; } } } return movement; }
public Vector2 Update(EnemyType enemyType, Vector2 position, Vector2 movement, GraphicsDeviceManager graphics, Sprite playerOneSprite, Sprite playerTwoSprite = null, Player one = null, Player two = null) { Vector2 AIMovement = Vector2.Zero; if (enemyType.type == Etype.Simple) { AIMovement = simpleAIMovement(graphics, position, movement); } else if (enemyType.type == Etype.Gunner) { AIMovement = gunnerAIMovement(graphics, position, movement); } else if (enemyType.type == Etype.Bomber) { AIMovement = bomberAIMovement(graphics, position, movement); } else if (enemyType.type == Etype.Darting) { AIMovement = dartingAIMovement(graphics, position, movement); } else if (type == Etype.Blinking) { // update ai AIMovement = createBlinking(graphics, position, movement); } else if (enemyType.type == Etype.Hard) { AIMovement = hardAIMovement(graphics, position, movement, enemyType.speed, playerOneSprite, playerTwoSprite, one, two); } else if (type == Etype.Level1MidBoss) { // update ai AIMovement = createLevel1MidBoss(graphics, position, movement); } else if (type == Etype.Level1Boss) { AIMovement = createLevel1Boss(graphics, position, movement); } else if (type == Etype.Level2MidBoss) { AIMovement = createLevel2MidBoss(graphics, position, movement); } else if (type == Etype.Level3Boss) { AIMovement = createLevel3Boss(graphics, position, movement); } return AIMovement; }
public void Update(GameTime gameTime, GraphicsDeviceManager graphics, Sprite playerOneSprite, Sprite playerTwoSprite, Player one, Player two) { base.Update(gameTime); if (this.enemyType != null) { Movement = enemyType.Update(enemyType, Position, Movement, graphics, playerOneSprite, playerTwoSprite, one, two); } Position += Movement * (float)gameTime.ElapsedGameTime.TotalMilliseconds; InvincibleTimeLeft -= (float)gameTime.ElapsedGameTime.TotalMilliseconds; }
public void Update(KeyboardState state, Sprite player, Player dino, PlayerShots playerShots, GraphicsDeviceManager graphics, GameTime gameTime, GameState gameState) { _oldKeyPressed = _currentKeyPressed; _currentKeyPressed = state; _movement = Vector2.Zero; if (dino.PlayerIndex == PlayerIndex.One) { if ((_currentKeyPressed.IsKeyDown(Keys.A) || _currentKeyPressed.IsKeyDown(Keys.Left)) && player.Position.X > 50) { _movement -= Vector2.UnitX * .7f; } if ((_currentKeyPressed.IsKeyDown(Keys.D) || _currentKeyPressed.IsKeyDown(Keys.Right)) && player.Position.X < graphics.PreferredBackBufferWidth - 50) { _movement += Vector2.UnitX * .7f; } if ((_currentKeyPressed.IsKeyDown(Keys.W) || _currentKeyPressed.IsKeyDown(Keys.Up)) && player.Position.Y > (graphics.PreferredBackBufferHeight / 2) + 100) { _movement -= Vector2.UnitY * .5f; } if ((_currentKeyPressed.IsKeyDown(Keys.S) || _currentKeyPressed.IsKeyDown(Keys.Down)) && player.Position.Y < graphics.PreferredBackBufferHeight - player.Texture.Height) { _movement += Vector2.UnitY * .5f; } } else if (dino.PlayerIndex == PlayerIndex.Two) { if (_currentKeyPressed.IsKeyDown(Keys.L) && player.Position.X > 50) { _movement -= Vector2.UnitX * .7f; } if (_currentKeyPressed.IsKeyDown(Keys.OemQuotes)&& player.Position.X < graphics.PreferredBackBufferWidth - 50) { _movement += Vector2.UnitX * .7f; } if (_currentKeyPressed.IsKeyDown(Keys.P) && player.Position.Y > (graphics.PreferredBackBufferHeight / 2) + 100) { _movement -= Vector2.UnitY * .5f; } if (_currentKeyPressed.IsKeyDown(Keys.OemSemicolon) && player.Position.Y < graphics.PreferredBackBufferHeight - player.Texture.Height) { _movement += Vector2.UnitY * .5f; } } // Jamie Key if(_currentKeyPressed.IsKeyDown(Keys.J) && !_oldKeyPressed.IsKeyDown(Keys.J)) { if (dino._laserPowerLevel < 5) dino._laserPowerLevel += 1; else dino._laserPowerLevel = 1; } if (_currentKeyPressed.IsKeyDown(Keys.Space) || _currentKeyPressed.IsKeyDown(Keys.F) || _currentKeyPressed.IsKeyDown(Keys.Enter)) { if (dino.LaserCharge > 0) { if (dino.PlayerIndex == PlayerIndex.One) { if (_currentKeyPressed.IsKeyDown(Keys.F) || _currentKeyPressed.IsKeyDown(Keys.Space)) { playerShots.FireOne(dino); dino._currentCharge -= 1; } } else if (dino.PlayerIndex == PlayerIndex.Two) { if (_currentKeyPressed.IsKeyDown(Keys.Enter)) { playerShots.FireTwo(dino); dino._currentCharge -= 1; } } } } if (player.IsInMarsh) { player.Movement += _movement / 3; } else { player.Movement += _movement; } player.Update(gameTime); _movement.X = 0f; _movement.Y = 0f; player.Movement = _movement; player.Update(gameTime); }
/// <summary> /// UnloadContent will be called once per game and is the place to unload /// all content. /// </summary> protected override void UnloadContent() { gameState = GameState.TitleScreen; previousState = gameState; upgradeScreen = null; startScreen = null; characterScreen = null; multiplayerLobby = null; deathScreen = null; levelBeginning = null; pauseScreen = null; loadingScreen = null; levelCreator = null; Random rand = new Random(); currentLevel = null; enemies = null; explosions = null; shotBehavior = null; enemyShots = null; playerShots = null; hbOne = null; hbTwo = null; bossLifeBar = null; cbOne = null; cbTwo = null; backGroundMusic = null; playerOneMeterTitle = null; playerTwoMeterTitle = null; meterLabel = null; playerOneMarker = null; playerTwoMarker = null; dinosaurOne = null; dinosaurTwo = null; playerOneSprite = null; playerTwoSprite = null; collisions = null; font = null; playerOneCounter = 0; playerTwoCounter = 0; levelIncrement = 0; singlePlayer = false; explodedOne = false; explodedTwo = false; input = null; padInput = null; }
protected void LoadCharacter() { if (startScreen.SinglePlayer) { singlePlayer = true; dinosaurOne = new Player(Content, graphics, characterScreen.Character, 1); dinosaurOne.ControlScheme = startScreen.ControlScheme; ValidateCharacter(1); playerOneSprite.Position = new Vector2(graphics.PreferredBackBufferWidth / 2, graphics.PreferredBackBufferHeight - 250); } else if (startScreen.MultiPlayer) { singlePlayer = false; dinosaurOne = new Player(Content, graphics, multiplayerLobby.playerOne, 1); dinosaurTwo = new Player(Content, graphics, multiplayerLobby.playerTwo, 2); dinosaurOne.ControlScheme = multiplayerLobby.firstPlayerControl; dinosaurTwo.ControlScheme = multiplayerLobby.secondPlayerControl; ValidateCharacter(1); ValidateCharacter(2); playerOneSprite.Position = new Vector2(graphics.PreferredBackBufferWidth / 3, graphics.PreferredBackBufferHeight - 250); playerTwoSprite.Position = new Vector2(graphics.PreferredBackBufferWidth - (graphics.PreferredBackBufferWidth / 3), graphics.PreferredBackBufferHeight - 250); } playerShots = new PlayerShots(Content, dinosaurOne, playerOneSprite, dinosaurTwo, playerTwoSprite); shotBehavior = new ShotBehavior(Content); enemyShots = new EnemyShots(Content); CreateScreens(); GenerateLevel(); }
public void Update(GamePadState state, Sprite player, Player dino, PlayerShots playerShots, GraphicsDeviceManager graphics, GameTime gameTime, GameState gameState) { _oldInput = _currentInput; _currentInput = state; _movement = Vector2.Zero; if ((_currentInput.IsButtonUp(Buttons.LeftThumbstickRight)) && player.Position.X > 50) { _movement -= Vector2.UnitX * .7f; } if ((_currentInput.IsButtonUp(Buttons.LeftThumbstickLeft)) && player.Position.X < graphics.PreferredBackBufferWidth - 50) { _movement += Vector2.UnitX * .7f; } if ((_currentInput.IsButtonUp(Buttons.LeftThumbstickDown)) && player.Position.Y > (graphics.PreferredBackBufferHeight / 2) + 100) { _movement -= Vector2.UnitY * .5f; } if ((_currentInput.IsButtonUp(Buttons.LeftThumbstickUp)) && player.Position.Y < graphics.PreferredBackBufferHeight - player.Texture.Height) { _movement += Vector2.UnitY * .5f; } // Jamie Key if (_currentInput.IsButtonDown(Buttons.Y) && !_oldInput.IsButtonDown(Buttons.Y)) { if (dino._laserPowerLevel < 5) dino._laserPowerLevel += 1; else dino._laserPowerLevel = 1; } if (_currentInput.Buttons.A == ButtonState.Pressed) { if (dino.LaserCharge > 0) { dino._currentCharge -= 1; if (dino.PlayerIndex == PlayerIndex.One) { playerShots.FireOne(dino); } else if (dino.PlayerIndex == PlayerIndex.Two) { playerShots.FireTwo(dino); } } } if (player.IsInMarsh) { player.Movement += _movement / 3; } else { player.Movement += _movement; } player.Update(gameTime); _movement.X = 0f; _movement.Y = 0f; player.Movement = _movement; player.Update(gameTime); }