Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

lppcom/astar

Open more actions menu
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

###A-STAR 寻找一种静态路网(本算法中为二维数组)中求解最短路径的解决办法

  • 我们可以通过:

    	var element = new Element();
    

    来创建二维数组的一个节点。

    element自身包含了一些方法:

    	element.setStatus(2);//设置节点的状态,当status>0,则该区域不可通过。
    	element.getX();//获取节点在二维数组的横座标。
    	element.getY();//获取节点在二维数组的纵座标。
    	element.atLeft(target);//判断element是否在target的左边。
    	其他方法见: element.js
    
  • 下面我们初始化一个静态路网(二维数组)。

 	var row = col =20;
 	var elements = createElements(row, col, {
			afterCreate : function() {
				if (Math.random() * 10 > 9) {
					this.setStatus(3);  //设置一些节点的状态为3,即死节点
				}
			}
	});
	这样elements就是我们的静态路网。 createElements详见:createElements.js
 
  • 获取两个节点之间的最短距离,startEl->endEl.

    	var startEl = elements[1][1],endEl = elements[17][19];//假设这两个都是空节点
    	var pathArray = getPath(startEl,endEl)[endEl];
    

    pathArray则为startEl到endEl之间的有效节点数组。

    demo: http://demo.qianshu.me/A-STAR/

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 50.4%
  • HTML 49.6%
Morty Proxy This is a proxified and sanitized view of the page, visit original site.