private static PlayerInfoModel StartBattle(PlayerInfoModel player, PlayerInfoModel opponent) { PlayerInfoModel winner = null; do { // DisplayShotGrid(player); ConsoleMessages.DisplayPlayerName(player); Console.WriteLine(); DisplayShotGrid(player); Console.WriteLine(); // Ask player shot - validate string shot = DataRequests.AskPlayerShotSpot(player); Console.WriteLine(); // Check if it hit a ship or water ConsoleMessages.ShowShotResult(player, opponent, shot); // Update player shotgrid and opponent ship status GameLogic.UpadateGrid(player, opponent, shot); // Show opponents remaining ships ConsoleMessages.ShowShipsNumber(player, opponent); if (GameLogic.RemainingShips(opponent) == 0) { winner = player; } else { (player, opponent) = (opponent, player); } ConsoleMessages.PressAnyKeyMessage(); Console.Clear(); } while (winner == null); return(winner); }