Advertisement
keysle

path finding code

Nov 19th, 2012
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.20 KB | None | 0 0
  1.  
  2. function Creature_findNode(nodeToSearchFrom,goal){
  3. var strand,referencedNode,referencedNodes,goalFound,creature,depth;
  4. referencedNodes = 0;
  5. goalFound = 0;
  6. creature = id;
  7. Creature_FindNode_searchNode(argument0,argument1);
  8. if (goalFound){
  9. var i;
  10. //transfer strand to pathPods list
  11. for(i=depth;i>0;i-=1){
  12. with(strand[i]){Pod_addPodToPath(creature);}
  13. }
  14. }
  15. }
  16.  
  17. function Creature_FindNode_searchNode(nodeToSearchFrom,goal){
  18. var nodeToSearchFrom, goal, i;
  19. nodeToSearchFrom = argument0;
  20. goal = argument1;
  21. for(i=0;i<nodeToSearchFrom.pods;i+=1){
  22. if ( nodeToSearchFrom.pod[i] == goal ){
  23. goalFound = 1;
  24. }else{
  25. if ( PathFinding_isNodeReferenced(i) == -1 ){
  26. referencedNode[referencedNodes];
  27. Creature_FindNode_searchNode(referencedNode[referencedNodes],argument1);
  28. referencedNodes+=1;
  29. }
  30. }
  31. if (goalFound){
  32. strand[depth] = nodeToSearchFrom.pod[i];
  33. depth += 1;
  34. break;
  35. }
  36. }
  37. }
  38.  
  39. function Creature_FindNode_isNodeReferenced( nodeToCheck ){
  40. var referenced,i;
  41. var nodeToCheck;
  42. nodeToCheck = argument0;
  43. referenced = -1;
  44. for(i=0;i<referencedNodes;i+=1){
  45. if (referencedNode[i] == nodeToCheck){
  46. referenced = i;
  47. }
  48. }
  49. return referenced;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement