public void PlayGame() { string name = null; int count = 1; Console.Clear(); Console.WriteLine("Welcome to Battleship"); Console.WriteLine("Press any key to continue"); Console.ReadKey(); Console.Clear(); Player p1 = new Player(); Player p2 = new Player(); while (count <= 2) { Console.Write($"Player {count}, enter your name: "); name = Console.ReadLine(); if (string.IsNullOrWhiteSpace(name)) { Console.WriteLine("Please do not leave this blank"); } else if (count == 1) { p1.Name = name; count++; } else if (count == 2 && p1.Name == name) { Console.WriteLine($"Please enter a name other than {name}, taken by player 1"); } else { p2.Name = name; count++; } } Console.WriteLine($"Player 1: {p1.Name}"); Console.WriteLine($"Player 2: {p2.Name}"); Console.ReadLine(); Console.Clear(); bool quit = false; do { p1.GameBoard = new Board(); p2.GameBoard = new Board(); Console.Clear(); Console.WriteLine($"{p1.Name}, set up your board"); BoardSetup.PlaceShips(p1.GameBoard); Console.Clear(); Console.WriteLine($"{p2.Name}, set up your board"); BoardSetup.PlaceShips(p2.GameBoard); Console.Clear(); p1.Victory = false; p2.Victory = false; Random firstMove = new Random(); int playerTurn = firstMove.Next(0, 2); if (playerTurn == 1) { Console.WriteLine($"{p1.Name} will be going first"); } else { Console.WriteLine($"{p2.Name} will be going first"); } Console.ReadKey(); Console.Clear(); while (!p1.Victory && !p2.Victory) { if (playerTurn == 0) { p1.Attack(p2); playerTurn = 1; } else { p2.Attack(p1); playerTurn = 0; } } if (p1.Victory == true) { Console.WriteLine($"{p1.Name} is the victor!"); } else { Console.WriteLine($"{p2.Name} is the victor!"); } while (true) { Console.Write("Play again? Yes or no: "); string again = Console.ReadLine().ToLower(); if (again == "yes") { Console.WriteLine("Boards will be reset. Press any key to continue"); Console.ReadKey(); break; } else if (again == "no") { Console.WriteLine("Exiting game. Press any key to continue"); quit = true; Console.ReadKey(); break; } else { Console.WriteLine("Invalid input"); } } } while (!quit); }