public static void Turn(Player player, BLL.GameLogic.Board board) { Console.ForegroundColor = player.Color; bool validShot = false; Console.Clear(); Console.WriteLine(player.Name.ToUpper() + "'S TURN IS COMMENCING, SWITCH CONTROL NOW."); Console.WriteLine("PRESS ENTER TO CONTINUE."); Console.ReadLine(); while (!validShot) { Console.Clear(); player.ShowDisplay(); string userInput = null; int[] coordRequest = new int[4]; Console.Write("ENTER COORDINATES FOR FIRING A SHOT : "); userInput = Console.ReadLine(); if (userInput.Length > 0) { coordRequest = Decipher.CoordinateTranslator(userInput); } BLL.Requests.Coordinate shotDestination = new BLL.Requests.Coordinate(coordRequest[0], coordRequest[1]); BLL.Responses.FireShotResponse response = board.FireShot(shotDestination); switch (response.ShotStatus) { case BLL.Responses.ShotStatus.Invalid: Console.WriteLine("THAT SHOT WAS INVALID"); break; case BLL.Responses.ShotStatus.Duplicate: Console.WriteLine("YOU'VE ALREADY SHOT THERE"); break; case BLL.Responses.ShotStatus.Miss: validShot = true; Console.WriteLine("THE SHOT MISSED!"); break; case BLL.Responses.ShotStatus.Hit: validShot = true; Console.WriteLine("THE SHOT HIT!"); break; case BLL.Responses.ShotStatus.HitAndSunk: validShot = true; Console.WriteLine("THE SHOT HIT AND SUNK THEIR " + response.ShipImpacted.ToUpper() + "!"); break; case BLL.Responses.ShotStatus.Victory: validShot = true; player.IsWinner = true; break; } Console.WriteLine("PRESS ENTER TO CONTINUE."); Console.ReadLine(); } player.OnTurn = !player.OnTurn; }