void placeAllShipsRandomly(){
        Random generator = new Random();
        int randomRow = generator.nextInt(10);
        int randomCol = generator.nextInt(10);
        boolean isHorizontal = generator.nextBoolean();
        // place the battle ship
        Battleship battleship = new Battleship();
        battleship.setBowRow(randomRow);
        battleship.setBowColumn(randomCol);
        battleship.setHorizontal(isHorizontal);
        while(!battleship.okToPlaceShipAt(randomRow, randomCol, isHorizontal, this)){
            randomRow = generator.nextInt(10);
            randomCol = generator.nextInt(10);
            isHorizontal = generator.nextBoolean();
        }
//        System.out.println("battleship random row: " + randomRow + "column: " + randomCol);
        battleship.placeShipAt(randomRow, randomCol, isHorizontal, this);
        // place two cruisers
        for(int i = 0; i < 2; i++){
            Cruiser cruiser = new Cruiser();
            cruiser.setBowRow(randomRow);
            cruiser.setBowColumn(randomCol);
            cruiser.setHorizontal(isHorizontal);
            while(!cruiser.okToPlaceShipAt(randomRow, randomCol, isHorizontal, this)){
                randomRow = generator.nextInt(10);
                randomCol = generator.nextInt(10);
                isHorizontal = generator.nextBoolean();
            }
//            System.out.println("cruiser random row: " + randomRow + "column: " + randomCol);
            cruiser.placeShipAt(randomRow, randomCol, isHorizontal, this);
        }
        // place three destroyers
        for(int i = 0; i < 3; i++){
            Destroyer destroyer = new Destroyer();
            destroyer.setBowRow(randomRow);
            destroyer.setBowColumn(randomCol);
            destroyer.setHorizontal(isHorizontal);
            while(!destroyer.okToPlaceShipAt(randomRow, randomCol, isHorizontal, this)){
                randomRow = generator.nextInt(10);
                randomCol = generator.nextInt(10);
                isHorizontal = generator.nextBoolean();
            }
//            System.out.println("destroyer random row: " + randomRow + "column: " + randomCol);
            destroyer.placeShipAt(randomRow, randomCol, isHorizontal, this);
        }
        // place four submarine
        for(int i = 0; i < 4; i++){
            Submarine submarine = new Submarine();
            submarine.setBowRow(randomRow);
            submarine.setBowColumn(randomCol);
            submarine.setHorizontal(isHorizontal);
            while(!submarine.okToPlaceShipAt(randomRow, randomCol, isHorizontal, this)){
                randomRow = generator.nextInt(10);
                randomCol = generator.nextInt(10);
                isHorizontal = generator.nextBoolean();
            }
//            System.out.println("submarine random row: " + randomRow + "column: " + randomCol);
            submarine.placeShipAt(randomRow, randomCol, isHorizontal, this);
        }  
    }