First, distCalc() is defined with a return type of float, which means that it should return a value. There is no return statement in the function, so it does not actually return a value.
Therefore, when loop() calls distCalc(), the reading that is determined in distCalc() is lost when distCalc() ends.
That reading would be based on which way the sensor was facing when the function was called. You need to mount the sensor on a servo, and position the servo prior to taking a reading. The distCalc() function should take an argument - the position to send the servo to, prior to taking a reading.
The distCalc() function should then send the servo to that position, pause while it travels there (as short a pause as possible), then take a reading, and return a value.
Then, in loop(), call distCalc() in a loop, starting at some small value, incrementing in large steps, ending at some large value, like:
for(int pos = minAngle; pos<=maxAngle; pos+=(maxAngle-minAngle)/2)
where minAngle and maxAngle represent the physical limits of the servo. If minAngle is 0 and maxAngle is 180, this loop would position the servo at 0, 90, and 180 to take readings.
Store the readings in an array, and then loop through the array to find the largest distance detected, and make the robot go in that corresponding direction.