private int fireSession(BattleshipsPlayer attacker, BattleshipsPlayer defender, BoardImpl board) { int maxShots = sizeX * sizeY; int shots = 0; while (board.getNumberOfShips() > 0 && shots < maxShots) { Position pos = attacker.getFireCoordinates(board); boolean hit = board.fire(pos); attacker.hitFeedBack(hit, board); defender.incoming(pos); ++shots; } return maxShots - shots; }