/// <summary> /// Plays the sound effect when colliding with a sprite. /// </summary> /// <param name="name">Sprite's name</param> /// <param name="sprite">Instance of the sprite</param> private void PlaySoundEffects(String name, Sprite sprite) { if (!sprite.GetCollided()) { switch (name) { case "tomato": case "carrot": case "strawberry": case "orange": case "pineapple": case "broccoli": case "fries": case "hamburger": case "pizza": case "donut": case "muffin": case "hotdog": sprite.PlaySoundEffect(soundEffects[1]); break; case "level1": case "level2": case "level3": if (sprite.IsSlashed()) sprite.PlaySoundEffect(soundEffects[6]); else { if (sprite.GetKilled()) sprite.PlaySoundEffect(soundEffects[8]); else { if (sprite.IsHit()) sprite.PlaySoundEffect(soundEffects[5]); else { if (Constants.isPunching && sprite.GetY() == 399) sprite.PlaySoundEffect(soundEffects[7]); else sprite.PlaySoundEffect(soundEffects[5]); } } } break; case "sheild": sprite.PlaySoundEffect(soundEffects[2]); break; case "sword": sprite.PlaySoundEffect(soundEffects[3]); break; } } }
/// <summary> /// Applies the effect of collision on sprite and player. /// </summary> /// <param name="name">Sprite name.</param> /// <param name="sprite">Instance of the sprite.</param> private void ApplyEffect(String name, Sprite sprite) { if (!sprite.GetCollided()) { switch (name) { case "tomato": player.Collided(Constants.healthy1); break; case "carrot": player.Collided(Constants.healthy2); break; case "strawberry": player.Collided(Constants.healthy3); break; case "orange": player.Collided(Constants.healthy4); break; case "pineapple": player.Collided(Constants.healthy5); break; case "broccoli": player.Collided(Constants.healthy6); break; case "fries": player.Collided(Constants.unhealthy1); break; case "hamburger": player.Collided(Constants.unhealthy2); break; case "pizza": player.Collided(Constants.unhealthy3); break; case "donut": player.Collided(Constants.unhealthy4); break; case "muffin": player.Collided(Constants.unhealthy5); break; case "hotdog": player.Collided(Constants.unhealthy6); break; case "level1": if (!sprite.GetKilled()) { if (!player.HasShield()) { if (!player.HasSword() || !Constants.isSwappingHand) { if (!Constants.isPunching) player.Collided(Constants.level1); else { if (sprite.GetY() != 399) player.Collided(Constants.level1); } } else { if (sprite.GetY() != 399) player.Collided(Constants.level1); } } else player.AcquireShield(false); } break; case "level2": if (!sprite.GetKilled()) { if (!player.HasShield()) { if (!player.HasSword() || !Constants.isSwappingHand) { if (!Constants.isPunching) player.Collided(Constants.level2); else { if (sprite.GetY() == 399) player.Collided((int)(Constants.level2 / 2)); else player.Collided(Constants.level2); } } else { if (sprite.GetY() != 399) player.Collided(Constants.level2); } } else player.AcquireShield(false); } break; case "level3": if (!sprite.GetKilled()) { if (!player.HasShield()) { if (!player.HasSword() || !Constants.isSwappingHand) { if (!Constants.isPunching) player.Collided(Constants.level3); else { if (sprite.GetY() == 399) player.Collided((int)(Constants.level3 / 4)); else player.Collided(Constants.level3); } } else { if (sprite.GetY() == 399) player.Collided((int)(Constants.level3 / 2)); else player.Collided(Constants.level3); } } else player.AcquireShield(false); } break; case "sheild": player.AcquireShield(true); break; case "sword": player.AcquireSword(true); break; } } }