public class Battleship
{
  public static void displayBoard(char[][] board)
  {
  }
  
  public static boolean isAllShipsPlaced(char[][] board)
  {
    return false;
  }
  
  public static void main(String[] args)
  {
    // invalid because not all ships placed
    char[][] invalidBoard0 = {
      {'~','~','~','~','~','~','~','~','~','~'},
      {'~','~','~','~','~','~','~','~','~','~'},
      {'~','~','~','~','~','~','~','~','~','~'},
      {'~','~','~','~','~','~','~','~','~','~'},
      {'~','~','~','~','~','~','~','~','~','~'},
      {'~','~','~','~','~','~','~','~','~','~'},
      {'~','~','~','~','~','~','~','~','~','~'},
      {'~','~','~','~','~','~','~','~','~','~'},
      {'~','~','~','~','~','~','~','~','~','~'},
      {'~','~','~','~','~','~','~','~','~','~'}
    };
    
    // invalid because destroyer is missing
    char[][] invalidBoard1 = {
      {'A','~','B','B','B','B','~','~','~','~'},
      {'A','~','~','~','~','~','~','~','~','~'},
      {'A','~','~','~','~','~','~','~','~','~'},
      {'A','~','~','~','S','~','~','~','~','~'},
      {'A','~','~','~','S','~','~','~','~','~'},
      {'~','~','~','~','S','~','~','~','~','~'},
      {'~','~','~','~','~','~','~','~','~','~'},
      {'~','~','~','~','~','~','~','~','~','~'},
      {'~','~','~','~','~','~','~','~','~','P'},
      {'~','~','~','~','~','~','~','~','~','P'}
    };
    
    // invalid because submarine size is too small
   char[][] invalidBoard2 = {
      {'A','~','B','B','B','B','~','~','~','~'},
      {'A','~','~','~','~','~','~','~','~','~'},
      {'A','~','~','~','~','~','~','~','~','~'},
      {'A','~','~','~','~','~','~','~','~','~'},
      {'A','~','~','~','S','~','D','D','D','~'},
      {'~','~','~','~','S','~','~','~','~','~'},
      {'~','~','~','~','~','~','~','~','~','~'},
      {'~','~','~','~','~','~','~','~','~','~'},
      {'~','~','~','~','~','~','~','~','~','P'},
      {'~','~','~','~','~','~','~','~','~','P'}
    };
   
    // invalid because submarine size is too large
    char[][] invalidBoard3 = {
      {'A','~','B','B','B','B','~','~','~','~'},
      {'A','~','~','~','~','~','~','~','~','~'},
      {'A','~','~','~','~','~','~','~','~','~'},
      {'A','~','~','~','S','~','~','~','~','~'},
      {'A','~','~','~','S','~','D','D','D','~'},
      {'~','~','~','~','S','~','~','~','~','~'},
      {'~','~','~','~','S','~','~','~','~','~'},
      {'~','~','~','~','~','~','~','~','~','~'},
      {'~','~','~','~','~','~','~','~','~','P'},
      {'~','~','~','~','~','~','~','~','~','P'}
    };
    
    // valid
    char[][] validBoard = {
      {'A','~','B','B','B','B','~','~','~','~'},
      {'A','~','~','~','~','~','~','~','~','~'},
      {'A','~','~','~','~','~','~','~','~','~'},
      {'A','~','~','~','S','~','~','~','~','~'},
      {'A','~','~','~','S','~','D','D','D','~'},
      {'~','~','~','~','S','~','~','~','~','~'},
      {'~','~','~','~','~','~','~','~','~','~'},
      {'~','~','~','~','~','~','~','~','~','~'},
      {'~','~','~','~','~','~','~','~','~','P'},
      {'~','~','~','~','~','~','~','~','~','P'}
    };
    
    System.out.println("--- invalidBoard0 test ---");
    displayBoard(invalidBoard0);
    System.out.println(isAllShipsPlaced(invalidBoard0));
    
    System.out.println("--- invalidBoard1 test ---");
    displayBoard(invalidBoard0);
    System.out.println(isAllShipsPlaced(invalidBoard0));
    
    System.out.println("--- invalidBoard2 test ---");
    displayBoard(invalidBoard0);
    System.out.println(isAllShipsPlaced(invalidBoard0));
    
    System.out.println("--- invalidBoard3 test ---");
    displayBoard(invalidBoard0);
    System.out.println(isAllShipsPlaced(invalidBoard0));
    
    System.out.println("--- validBoard test ---");
    displayBoard(validBoard);
    System.out.println(isAllShipsPlaced(validBoard));
    
  }
}
