My question is why variables for 'Life' won't work even if I think I did it right?
I have main method and in it:
        int destroyer1Life = 4;
        int destroyer2Life = 4;
        int battleShipLife = 5;
        int gameBoardLenght = 10;
        int shipsLife = destroyer1Life + destroyer2Life + battleShipLife;
        while(shipsLife > 0){  //ships life is warned as always true
            char locationViewUpdate = evaluateGuessAndGetTarget(guessLocation, gameBoard, water, hit, miss, destroyer1, destroyer2, battleShip,battleShipLife, destroyer1Life, destroyer2Life, ship );
            if (shipsLife == 0){  //ships life is warned as always false
                System.out.print("You won");
            }
In another method I have:
    private static char evaluateGuessAndGetTarget(int[] guessLocation, char[][] gameBoard, char water, char hit, char miss, char destroyer1, char destroyer2, char battleShip, int battleShipLife, int destroyer1Life, int destroyer2Life,char ship) {
        if (target == destroyer1){
            if (destroyer1Life > 0){
                target = hit;
                message = "Hit!";
                destroyer1Life--; //The value changed at 'destroyer1Life--' is never used 
            }
        }
        if (target == destroyer2){
            if (destroyer2Life > 0){
                target = hit;
                message = "Hit!";
                destroyer2Life--;  //The value changed at 'destroyer2Life--' is never used 
            }
        }
        if (target == battleShip){
            if (battleShipLife > 0){
                target = hit;
                message = "Hit!";
                battleShipLife--;  //The value changed at 'battleShipLife--' is never used 
            }
        }
}
So, even when I get an update on board that ship has been changed into hit, life wont go down. Full code: https://github.com/Mertyon/BattleShipsGame/blob/main/src/com/company/BattleShipsGame.java
 
     
     
    