src/model/world/WorldWrapper.java
public List<Cell> look(int fromX, int fromY, int toX, int toY, double range) {
        // TODO this can be optimised
        LinkedList<Cell> cells = new LinkedList<>();
        world.computeLine(fromX, fromY, toX, toY, cell -> {
            if (Utils.getDistance(cell.x - fromX, cell.y - fromY) > range) {
                return false;
            }
            cells.add(cell);
            return !cell.type.obstructsView;
        });
        return cells;
    }
/**
     * Creates a list of all cells in a straight line from position [fromX, fromY] to position
     * [toX, toY], taking into account the specified range and visual obstructions along
     * the line of sight.
     */
Creates a list of all cells in a straight line from position [fromX, fromY] to position
[toX, toY], taking into account the specified range and visual obstructions along
the line of sight.
Creates a list of all cells in a straight line from position [ fromX fromY ] to position [ toX toY ] taking into account the specified range and visual obstructions along the line of sight .
public List<Cell> look(int fromX, int fromY, int toX, int toY, double range) {
        LinkedList<Cell> cells = new LinkedList<>();
        world.computeLine(fromX, fromY, toX, toY, cell -> {
            if (Utils.getDistance(cell.x - fromX, cell.y - fromY) > range) {
                return false;
            }
            cells.add(cell);
            return !cell.type.obstructsView;
        });
        return cells;
    }
public List < Cell > look ( int fromX , int fromY , int toX , int toY , double range ) { LinkedList < Cell > cells = new LinkedList < > ( ) ; world . computeLine ( fromX , fromY , toX , toY , cell -> { if ( Utils . getDistance ( cell . x - fromX , cell . y - fromY ) > range ) { return false ; } cells . add ( cell ) ; return ! cell . type . obstructsView ; } ) ; return cells ; }
Creates a list of all cells in a straight line from position [fromX, fromY] to position
 [toX, toY], taking into account the specified range and visual obstructions along
 the line of sight.
Creates a list of all cells in a straight line from position [ fromX fromY ] to position [ toX toY ] taking into account the specified range and visual obstructions along the line of sight .
// TODO this can be optimised