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 = ReferenceEquals(_theGame.Player, HumanPlayer); if (isHuman) { UtilityFunctions.Message = "You " + result.ToString(); } else { UtilityFunctions.Message = "The AI " + result.ToString(); UtilityFunctions.Message = UtilityFunctions.Message.Replace("enemy", "player"); } if (result.Value == ResultOfAttack.Destroyed) { PlayHitSequence(System.Convert.ToInt32(result.Row), System.Convert.ToInt32(result.Column), isHuman); Audio.PlaySoundEffect(GameResources.GameSound("Sink")); } else if (result.Value == ResultOfAttack.GameOver) { PlayHitSequence(System.Convert.ToInt32(result.Row), System.Convert.ToInt32(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")); } } else if (result.Value == ResultOfAttack.Hit) { PlayHitSequence(System.Convert.ToInt32(result.Row), System.Convert.ToInt32(result.Column), isHuman); } else if (result.Value == ResultOfAttack.Miss) { PlayMissSequence(System.Convert.ToInt32(result.Row), System.Convert.ToInt32(result.Column), isHuman); } else if (result.Value == ResultOfAttack.ShotAlready) { Audio.PlaySoundEffect(GameResources.GameSound("Error")); } }
public static void DeployShips() { //if in the area try to deploy try { GameController.HumanPlayer.PlayerGrid.MoveShip(_currentRow, _currentCol, _selectedShip, _currentDirection); } catch (Exception ex) { Audio.PlaySoundEffect(GameResources.GameSound("Error")); UtilityFunctions.Message = ex.Message; } }
/// <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; isHuman = _theGame.Player == HumanPlayer; if (isHuman) { UtilityFunctions.Message = "You " + result.ToString(); } else { UtilityFunctions.Message = "The AI " + result.ToString(); } 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; } } }