示例#1
0
        public static void PlaceShips(Board board)
        {
            foreach (var item in Enum.GetValues(typeof(ShipType)))
            {
                while (true)
                {
                    Console.WriteLine($"\nPlace your {item}");

                    PlaceShipRequest request = new PlaceShipRequest
                    {
                        Coordinate = UserIO.EnterCoordinates(),
                        Direction  = UserIO.Direction(),
                        ShipType   = (ShipType)item, //set up loop to rotate current ship
                    };
                    ShipPlacement response = new ShipPlacement();
                    response = board.PlaceShip(request);
                    switch (response)
                    {
                    case ShipPlacement.NotEnoughSpace:
                        Console.Clear();
                        Console.WriteLine($"Could not place {item}: Not enough space.\nPlease try again.");
                        continue;

                    case ShipPlacement.Overlap:
                        Console.Clear();
                        Console.WriteLine($"Could not place {item}: Ship overlap.\nPlease try again");
                        continue;

                    case ShipPlacement.Ok:
                        break;
                    }
                    break;
                }
                Console.Clear();
            }
        }