private static void PlayMissSequence(int row, int column, bool showAnimation) { if (showAnimation) { UtilityFunctions.AddSplash(row, column); } Audio.PlaySoundEffect(GameResources.GameSound("Miss")); UtilityFunctions.DrawAnimationSequence(); }
private static void PlayHitSequence(int row, int column, bool showAnimation) { if (showAnimation) { UtilityFunctions.AddExplosion(row, column); } Audio.PlaySoundEffect(GameResources.GameSound("Hit")); UtilityFunctions.DrawAnimationSequence(); }
/// <summary> /// Listens for attacks to be completed. /// </summary> /// <param name="sender">the game</param> /// <param name="result">the result of the attack</param> /// <remarks> /// Displays a message, plays sound and redraws the screen /// </remarks> private static void AttackCompleted(object sender, AttackResult result) { bool isHuman = false; isHuman = object.ReferenceEquals(_theGame.Player, HumanPlayer); if (isHuman) { UtilityFunctions.Message = "You " + result.ToString(); } else { String s = result.ToString(); switch (result.Value) { case ResultOfAttack.Destroyed: String v = s.Replace("enemy's", "your"); UtilityFunctions.Message = "The AI " + v; break; default: UtilityFunctions.Message = "The AI " + s; break; } } switch (result.Value) { case ResultOfAttack.Destroyed: PlayHitSequence(result.Row, result.Column, isHuman); Audio.PlaySoundEffect(GameResources.GameSound("Sink")); break; case ResultOfAttack.GameOver: PlayHitSequence(result.Row, result.Column, isHuman); Audio.PlaySoundEffect(GameResources.GameSound("Sink")); while (Audio.SoundEffectPlaying(GameResources.GameSound("Sink"))) { SwinGame.Delay(10); SwinGame.RefreshScreen(); } if (HumanPlayer.IsDestroyed) { Audio.PlaySoundEffect(GameResources.GameSound("Lose")); } else { Audio.PlaySoundEffect(GameResources.GameSound("Winner")); } break; case ResultOfAttack.Hit: PlayHitSequence(result.Row, result.Column, isHuman); break; case ResultOfAttack.Miss: PlayMissSequence(result.Row, result.Column, isHuman); break; case ResultOfAttack.ShotAlready: Audio.PlaySoundEffect(GameResources.GameSound("Error")); break; } }