We keep track of the current loss by subtracting fuel for each thrust of the rockets. If no fuel is left, or there isn't enough fuel for the actions to take place, then we cannot perform the given action and float forever in space. (Bummer!)
Now, this adds another consideration to our state equations: since fuel is mass, and mass affects acceleration, we must take into account this changing mass in our equations. The new mass calculation is now: MASS = SHIP_MASS + FUEL_MASS - THRUST_MASS.
The preferred solution would be to integrate along the computed path to determine whether an obstacle is hit. However, since such means are not at our immediate disposal, a function, computeIntersection(), was created to linearly interpolate along the path to find any obstructions. The number of discrete intervals are chosen in part by the length of the path to be examined. You can see the modified path here.
Unfortunately, this is not a complete solution. The model still considers the hovercraft to be a point-mass, and bad intersections still take place. The decoupled approach is not always best for this type of problem. This solution is still preferable on a small, experimental scale.