//CONSTRUCTOR (base is Sprite) public Sprite_Player(PlayerIndex index, Texture2D textureImage, SpriteFont playerFont, Vector2 position, int collisionOffset, Point frameSize, Point currentFrame, Point sheetSize, Vector2 speed, int millisecondsPerFrame, SoundEffect collision_sound) : base(textureImage, position, frameSize, collisionOffset, currentFrame, sheetSize, speed, millisecondsPerFrame, collision_sound) { this.index = index; this.scoreFont = playerFont; my_player = new Player(this, 0, 0, 0, 0, 0); this.currentGPState = GamePad.GetState(index); }
public abstract void removeEffect(Player player);
public abstract void applyEffect(Player player);
public override void removeEffect(Player player) { }
public override void applyEffect(Player player) { player.Opponent.getPlayer.Carrying.Clear(); }
//public override void removeEffect(Sprite_Player player) public override void removeEffect(Player player) { player.Speed = defaultSpeed; }
//public override void applyEffect(Sprite_Player player) public override void applyEffect(Player player) { player.Speed = newSpeed; }
//public override void removeEffect(Sprite_Player player) public override void removeEffect(Player player) { //player.getPlayer.Capacity = defaultMax; player.Capacity = defaultMax; }
//public override void applyEffect(Sprite_Player player) public override void applyEffect(Player player) { //player.getPlayer.Capacity = newMax; player.Capacity = newMax; }
public override void applyEffect(Player player) { player.Opponent.getPlayer.Speed = newSpeed; }
private void orderComparison(Player player, Customer current, GamePadState previousState, GamePadState padNow) { if (player.Carrying.Count() == 1 && (padNow.Buttons.LeftShoulder == ButtonState.Released && previousState.Buttons.LeftShoulder == ButtonState.Pressed || padNow.Triggers.Left < .5 && previousState.Triggers.Left > .5)) { updateOrder(player, current, 0); } else if (player.Carrying.Count() == 2) { //while most button presses occur after the button is released the right shoulder button //is processes here when the button is pressed. This solves the problem of pressing both //shoulder buttons at the same time and the left item being used if (padNow.Buttons.RightShoulder == ButtonState.Pressed || padNow.Triggers.Right > .5) { updateOrder(player, current, 1); } if (padNow.Buttons.LeftShoulder == ButtonState.Released && previousState.Buttons.LeftShoulder == ButtonState.Pressed || padNow.Triggers.Left < .5 && previousState.Triggers.Left > .5) { updateOrder(player, current, 0); } } else if (player.Carrying.Count() == 3) { if (padNow.Buttons.RightShoulder == ButtonState.Pressed || padNow.Triggers.Right > .5) { updateOrder(player, current, 1); } if (padNow.Buttons.LeftShoulder == ButtonState.Released && previousState.Buttons.LeftShoulder == ButtonState.Pressed || padNow.Triggers.Left < .5 && previousState.Triggers.Left > .5) { updateOrder(player, current, 0); } if (padNow.DPad.Up == ButtonState.Released && previousState.DPad.Up == ButtonState.Pressed) { updateOrder(player, current, 2); } } }
public void updateOrder(Player player, Customer current, int item) { //SCORING if (current.Order.Contains(player.Carrying[item])) { current.Order.Remove(player.Carrying[item]); player.Carrying.RemoveAt(item); player.ItemsServed = player.ItemsServed + 1; player.Score = player.Score + 5; assetManager.GetSounds("CashRegister").Play(); //serveSound.Play(); if (current.Order.Count == 0) { doneSounds(this.name); player.OrdersFinished = player.OrdersFinished + 1; if (current.Patience/1000 < 5) { player.CustomersSaved = player.CustomersSaved + 1; current.Bonus = current.Bonus + 3; } player.BonusPoints = player.BonusPoints + current.Bonus; player.Score += current.Bonus; } } else { assetManager.GetSounds("wrong item").Play(); //wrongItemSound.Play(); } }
/// <summary> /// Allows the game component to update itself. /// </summary> /// <param name="gameTime">Provides a snapshot of timing values.</param> protected override void Update(GameTime gameTime) { // TODO: Add your update code here switch (myGameState) { case GameState.Start: if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) this.Exit(); //menu keyboardState = Keyboard.GetState(); gamePadState = GamePad.GetState(PlayerIndex.One); MediaPlayer.Stop(); if (CheckKey(Keys.Down) || CheckButton(Buttons.DPadDown)) { selectedIndex++; if (selectedIndex == menuItems.Length) selectedIndex = 0; } if (CheckKey(Keys.Up) || CheckButton(Buttons.DPadUp)) { selectedIndex--; if (selectedIndex < 0) selectedIndex = menuItems.Length - 1; } if (GamePad.GetState(PlayerIndex.One).Buttons.A == ButtonState.Pressed) { if (selectedIndex == 0) spriteManager.setLevel(1); else spriteManager.setLevel(5); myGameState = GameState.Game; //game on spriteManager.Enabled = true; spriteManager.Visible = true; } oldKeyboardState = keyboardState; oldGamePadState = gamePadState; keyboardState = Keyboard.GetState(); break; case GameState.Game: if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) myGameState = GameState.Start; //Audio Select if (!MediaPlayer.State.Equals(MediaState.Playing)) { chooseSong(randomNum.Next(1, 8)); } playerList = spriteManager.getPlayers(); player1 = playerList[0].getPlayer; player2 = playerList[1].getPlayer; break; case GameState.End: MediaPlayer.Stop(); Restart(playerList); spriteManager.Enabled = false; spriteManager.Visible = false; break; } //exit if (playerList != null) { foreach (Sprite_Player p in playerList) { if (GamePad.GetState(p.PlayerIndex).Buttons.Back == ButtonState.Pressed) this.Exit(); } } base.Update(gameTime); }