java找图最短路径_A*寻找最短路径(JAVA)

距自己上一次在园子里写东西,已经3个月有余了。今天用JAVA写了一下A*寻路,相信这个园子里的大多数人都是知道A*的,在这个断言的基础上,鄙人就不去过分描述了,废话不多说,直接上代码吧!(PS:我用二维数组模拟了二维地图,其中“0”为走得通的路,“1”为墙或其他过不去的障碍物。)代码源文件:1.StarNode.java2.AStar.javaimport java.awt.Point;impor...
摘要由CSDN通过智能技术生成

距自己上一次在园子里写东西,已经3个月有余了。今天用JAVA写了一下A*寻路,相信这个园子里的大多数人都是知道A*的,在这个断言的基础上,鄙人就不去过分描述了,废话不多说,直接上代码吧!(PS:我用二维数组模拟了二维地图,其中“0”为走得通的路,“1”为墙或其他过不去的障碍物。)

代码源文件:1.StarNode.java

2.AStar.java

import java.awt.Point;

import java.util.ArrayList;

import java.util.LinkedList;

import java.util.List;

public class StarNode {

//相邻点

private LinkedList neighbors = new LinkedList();

//自身点位置

Point location;

//前一个节点

StarNode searchParent;

//当前已花费路径成本

int hasCost;

/**

* 构造

* @param location

*/

StarNode(Point location){

this.location=location;

}

/**

* 获取相邻点(8领域)

*/

List getNeighbors(){

List neighbors = new ArrayList();

int x =location.x;

int y =location.y;

// 左上

neighbors.add(new StarNode(new Point(x-1,y-1)));

// 左

neighbors.add(new StarNode(new Point(x-1,y)));

// 左下

neighbors.add(new StarNode(new Point(x-1,y+1)));

//上

neighbors.add(new StarNode(new Poin

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值