public void PlaceShips_Click(object sender, RoutedEventArgs e)
 {
     gameBoard.PlaceShips(gameBoard.playerOne.playerGrid);
     Confirm_Ships_Button.IsEnabled = true;
     Player_Canvas.Children.Clear();
     //Two for loops to clear out previous ship locations before creating new ships
     //Assumes that ships have been created once before by the user
     gameBoard.playerOne.playerGrid.ClearGrid();
     for (int x = 0; x < gameBoard.playerOne.playerGrid.playerShips.Length; x++)
     {
         DrawShipOnGrid(CreateShip(gameBoard.playerOne.playerGrid.playerShips[x].GetShipName(),
                                   gameBoard.playerOne.playerGrid.playerShips[x].GetShipLength(),
                                   gameBoard.playerOne.playerGrid.playerShips[x].GetShipDirection()),
                        Player_Canvas, gameBoard.playerOne.playerGrid.playerShips[x]);
     }
     //Player battleship visibility
     Player_Battleship.Visibility = Visibility.Hidden;
     Player_Carrier.Visibility    = Visibility.Hidden;
     Player_Destroyer.Visibility  = Visibility.Hidden;
     Player_PatrolBoat.Visibility = Visibility.Hidden;
     Player_Sub.Visibility        = Visibility.Hidden;
     //Enemy Battleship visibility
     Enemy_Battleship.Visibility = Visibility.Visible;
     Enemy_Carrier.Visibility    = Visibility.Visible;
     Enemy_Destroyer.Visibility  = Visibility.Visible;
     Enemy_PatrolBoat.Visibility = Visibility.Visible;
     Enemy_Sub.Visibility        = Visibility.Visible;
 }
Exemple #2
0
        public void StartGame()
        {
            Console.WriteLine("{0} game started. Good luck!", _difficulty);
            _board = new Board(_difficulty);
            _ships = new List <IShip>();
            switch (_gameMode)
            {
            case "unlimited":
                switch (_difficulty)
                {
                default:
                case "easy":
                    _ships.Add(new SmallShip());
                    _ships.Add(new SmallShip());
                    _ships.Add(new MediumShip());
                    _board.Draw();
                    _board.PlaceShips(_ships);
                    _boardShipsHealth = TotalShipHealth();
                    EasyModeTakeGuesses();
                    break;

                case "medium":
                    _ships.Add(new SmallShip());
                    _ships.Add(new SmallShip());
                    _ships.Add(new MediumShip());
                    _ships.Add(new MediumShip());
                    _board.Draw();
                    _board.PlaceShips(_ships);
                    _boardShipsHealth = TotalShipHealth();
                    EasyModeTakeGuesses();
                    break;

                case "hard":
                    _ships.Add(new SmallShip());
                    _ships.Add(new SmallShip());
                    _ships.Add(new SmallShip());
                    _ships.Add(new MediumShip());
                    _ships.Add(new MediumShip());
                    _board.Draw();
                    _board.PlaceShips(_ships);
                    _boardShipsHealth = TotalShipHealth();
                    EasyModeTakeGuesses();
                    break;

                case "very hard":
                    _ships.Add(new SmallShip());
                    _ships.Add(new SmallShip());
                    _ships.Add(new SmallShip());
                    _ships.Add(new MediumShip());
                    _ships.Add(new MediumShip());
                    _ships.Add(new LargeShip());
                    _board.Draw();
                    _board.PlaceShips(_ships);
                    _boardShipsHealth = TotalShipHealth();
                    EasyModeTakeGuesses();
                    break;
                }
                break;

            case "limited":
                switch (_difficulty)
                {
                default:
                case "easy":
                    _ships.Add(new SmallShip());
                    _ships.Add(new SmallShip());
                    _ships.Add(new MediumShip());
                    _board.Draw();
                    _board.PlaceShips(_ships);
                    _player = new Player
                    {
                        NumberOfTurns = 20
                    };
                    _boardShipsHealth = TotalShipHealth();
                    TakeGuesses();
                    break;

                case "medium":
                    _ships.Add(new SmallShip());
                    _ships.Add(new SmallShip());
                    _ships.Add(new MediumShip());
                    _ships.Add(new MediumShip());
                    _board.Draw();
                    _board.PlaceShips(_ships);
                    _player = new Player
                    {
                        NumberOfTurns = 30
                    };
                    _boardShipsHealth = TotalShipHealth();
                    TakeGuesses();
                    break;

                case "hard":
                    _ships.Add(new SmallShip());
                    _ships.Add(new SmallShip());
                    _ships.Add(new SmallShip());
                    _ships.Add(new MediumShip());
                    _ships.Add(new MediumShip());
                    _board.Draw();
                    _board.PlaceShips(_ships);
                    _player = new Player
                    {
                        NumberOfTurns = 40
                    };
                    _boardShipsHealth = TotalShipHealth();
                    TakeGuesses();
                    break;

                case "very hard":
                    _ships.Add(new SmallShip());
                    _ships.Add(new SmallShip());
                    _ships.Add(new SmallShip());
                    _ships.Add(new MediumShip());
                    _ships.Add(new MediumShip());
                    _ships.Add(new LargeShip());
                    _board.Draw();
                    _board.PlaceShips(_ships);
                    _player = new Player
                    {
                        NumberOfTurns = 60
                    };
                    _boardShipsHealth = TotalShipHealth();
                    TakeGuesses();
                    break;
                }
                break;
            }
        }