private void calculateClosestWaypoint(Game a_gameCopy)
    {
        double minDistance = Double.MAX_VALUE;
        for(Waypoint way: a_gameCopy.getWaypoints())
        {
            if(!way.isCollected())     //Only consider those not collected yet.
            {
                double fx = way.s.x-a_gameCopy.getShip().s.x, fy = way.s.y-a_gameCopy.getShip().s.y;
                double dist = Math.sqrt(fx*fx+fy*fy);
                if( dist < minDistance )
                {
                    //Keep the minimum distance.
                    minDistance = dist;
                    m_closestPickUp = way;
                }
            }
        }

        //Also check for fuel tanks:
        for(FuelTank ft: a_gameCopy.getFuelTanks())
        {
            if(!ft.isCollected())     //Only consider those not collected yet.
            {
                double fx = ft.s.x-a_gameCopy.getShip().s.x, fy = ft.s.y-a_gameCopy.getShip().s.y;
                double dist = Math.sqrt(fx*fx+fy*fy);
                dist = dist * FUEL_TANK_PEN; //Apply penalization to only chase those fuel tanks really close.
                if( dist < minDistance )
                {
                    //Keep the minimum distance.
                    minDistance = dist;
                    m_closestPickUp = ft;
                }
            }
        }
    }