'How to change element in array?
Array is 2 dimensional 10x10 gameBoard
Code I made for array:
int gameBoardLength = gameBoard.length;
        System.out.print("  ");    //two spaces to align the text
        for (int i = 0; i < gameBoardLength; i++){   //gameboard.lenght = 10 
            System.out.print(i + 1 + " ");
        }
Code for changing 1 or more random positions in array:
 private static char[][] placeShips(char[][] gameBoard, char water,char destroyer1, char ship, char destroyer2 ) {
        int x = 0;
        int y = 1;
        int gameBoardLenght = gameBoard.length;
        int placedDestroyers1 = 0;
        while (placedDestroyers1 < 4){
            int[] location = generateShipLocation(gameBoardLenght);
            char possibilityOfPlacement = gameBoard[location[x]][location[y]];
            if (possibilityOfPlacement == water){   // water is char '~' and at the begining array is filled up with that.
                gameBoard[location[x]][location[y]] = destroyer1;   //destroyer1  is a char (char destroyer1 = 'D'; )
            }placedDestroyers1++;
        } return gameBoard;
    }
What i need is to change 2/3/4 char in a row.
I'v already tried to change destroyer1 into Char [] of few elements, but that didn't made the job.
Edit:
I edited code like that:
private static char[][] placeShips(char[][] gameBoard, char water,char destroyer1, char ship, char destroyer2 ) {
        int x = 0;
        int y = 1;
        int gameBoardLenght = gameBoard.length;
        int placedDestroyers1 = 0;
        int[] location = generateShipLocation(gameBoardLenght); // that part is taking 1 random point from net method
        while (placedDestroyers1 < 4){
            char possibilityOfPlacement = gameBoard[location[x]][location[y]];
            if (possibilityOfPlacement == water){
                gameBoard[location[x]][location[y++]]  = destroyer1; //That part should placing first random point and next ones next to that one.
            }placedDestroyers1++;
        } return gameBoard;
    }
//Part below is making random point in location
private static int[] generateShipLocation(int gameBoardLenght) {
        int [] location = new int [5];
        for (int i = 0; i < location.length; i++){
            location[i] = new Random().nextInt(gameBoardLenght);
        } return location;
    }
And it is kinda working. Output is lining in line, but it is not in 1 line it's in parts.
The way i want them to be:
X X X O
O O O O
O O O O
But they going like that:
X O X O
O O O O
O O O O
Or that:
X O O X
O O O O
O O O O
SEMI SOLUTION:
 private static char[][] placingDestroyer1(char[][] gameBoard, char water,char destroyer1, char destroyer2) {
        int gameBoardLenght = gameBoard.length;
        int[] location = generateDestroyer1Location(gameBoardLenght);
        int placedDestroyers1 = 0;
        while (placedDestroyers1 < 4){
            char possibilityOfPlacement = gameBoard[location[0]][location[1]];
            if (possibilityOfPlacement == water && possibilityOfPlacement != destroyer1 && possibilityOfPlacement != destroyer2){
                gameBoard[location[0]][location[1]] = destroyer1;
            }
            placedDestroyers1++;
            location[1]++;  //thanks to Kemper Lee, I was able to track right solution. However that solution sometimes is out of lenght of array, so it is exiting with erro
        } return gameBoard;
    }
Solution 1:[1]
If I'm understanding your question, the best place to start would be to create some grids for visualization:
             10cols             EX 1              EX 2
           ~~~~~~~~~~        X~~~~~~~~~        ~~~~~~~~~~
           ~~~~~~~~~~        X~~~~~~~~~        ~~~~~~~~~~
           ~~~~~~~~~~        ~~~~~~~~~~        ~XXXX~~~~~
           ~~~~~~~~~~        ~~~~~~~~~~        ~~~~~~~~~~
    /*10*/ ~~~~~~~~~~        ~~~~~~~~~~        ~~~~~~X~~~
    rows   ~~~~~~~~~~        ~~~~~XXXX~        ~~~~~~X~~~
           ~~~~~~~~~~        ~~~X~~~~~~        ~~~~~~~~~~
           ~~~~~~~~~~        ~~~X~~~~~~        ~~~~~~~~~~
           ~~~~~~~~~~        ~~~X~~~~~~        ~XXX~~~~~~
           ~~~~~~~~~~        ~~~~~~~~~~        ~~~~~~~~~~
In Example 1 when index[0][0] is filled then either index[1][0] or index[0][1] has to filled in.
Likewise, in Example 2 when index[2][2] is filled then index[2][1], index[1][2], index[3][2], or index[2][3] need to be filled
NOTE -- this is NOT a complete solution
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source | 
|---|---|
| Solution 1 | 
