Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public double heuristic(Node n) {
- RoverState curr = (RoverState) n.getState();
- RoverState parent = (RoverState) n.getParent().getState();
- int dh = curr.getHeight()-parent.getHeight();
- double diffX = curr.getCoordX()-x;
- double diffY = curr.getCoordY()-y;
- double D = 1;
- double D2 = 1.41;
- double h_diagonal = min(abs(diffX), abs(diffY));
- double h_straight = abs(diffX) + abs(diffY);
- double h = D2 * h_diagonal + D * (h_straight - 2*h_diagonal);
- return h*(1+0.5*(cos(0.5)-cos(dh/20+0.5)));
- }
Add Comment
Please, Sign In to add comment