javaastar_JAVA-Astar算法实现

更新时间:2023-06-19 05:30:23 阅读: 评论:0

javaastar_JAVA-Astar算法实现
kipJAVA实现Astar寻径算法:
此算法的主要公式:F=G+H
* G = 从起点,沿着产⽣的路径,移动到⽹格上指定⽅格的移动耗费。
* H = 从此点阵到结束点阵的预估移动耗费,这被称为开启式的。
* F = 等G+H的值,表⽰的⼀个权重值。
⾸先将开始点存⼊到开启列表当中(待检查的点),检查开始点,将周围的点阵的F,G,H值算出,将周围点阵加⼊到开启列表当中,将周围点阵的⽗节点指向当前查找的节点,然后将开启列表排序,查找到下⼀个最⼩的F值进⾏路径查找,以此类推,只到找结束点阵为⽌。
当路径查找到结束点时,就通过结束点在闭合列表当中查找它指向的⽗节点为路径加到路径列表当中,再通过查找的节点指向的⽗节点为路径加到路径列表当中,以此类推以找到⽗节点指各的是开始节点为⽌,此算法就结束。以上只是⼤概的讲解了⼀下Astar算法的原则。有兴趣可以到⽹上去查找资料,或者与我共同讨论和学习。我的QQ:565345652。
下⾯是我⽤JAVA实现的Astar的截图
JAVA 实现Astar的核⼼代码:
/*
* Astar算法实现的类
* */
package com.smq.astar;
public class AStarRule implements Runnable
{
private Testastar ta=null; //拿界⾯对象的⼀个引⽤
天之痕钢琴曲
private boolean astar_ok=fal; //Astar算法是否成功找到private AstarObject minao; //开启列表查找的对象引⽤
/*
* 构造⼀个Astar算法
* */
public AStarRule(Testastar ta)
{
Start_ao();
Start_ao());
}
/*
* 运⾏Astar算法进⾏查找路径
* */
public void run()
{
System.out.println("astar");
while(!astar_ok)
{
System.out.println("astar");
Openlistaos().size()==0)
{
astar_ok=true;
ta.tAstar_ok(true);
ta.tEnd(System.currentTimeMillis());
System.out.println("所⽤时间:"+(ta.getEnd()-ta.getStart())/1000.0); }
System.out.println("open"+ta.getOpenlistaos().size());
System.out.println("clo"+ta.getClolistaos().size());
Openlistaos().size()>=2)
{
available的用法
Array();
for(int i=1;i<=4;i++)
{
this.LoadingOpenList(i);
minao.tOpenlist_ao(fal);
断背山男主角minao.tClolist_ao(true);
anything怎么读
Openlistaos().get(0);
for(int i=1;i<=4;i++)
{
this.LoadingOpenList(i);
minao.tOpenlist_ao(fal);
minao.tClolist_ao(true);
}
}
try {
Thread.Speed());
} catch (InterruptedException e) {
dominate是什么意思// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/*
drawing是什么意思
* 排列开启列表
* */
public void Array()
{
AstarObject maxao;
Openlistaos().get(0);
for(int i=0;i&Openlistaos().size()-1;i++) {
Openlistaos().get(i);
AstarF()>=AstarF()) {
minao=maxao;
/*
* 加⼊开启列表对象
* */
public void LoadingOpenList(int dir)
{
light是什么意思for(int i=0;i
{
AstarObject Aos().get(i);
switch(dir)
{
ca 1:
X()==X()+W()&&Y()==Y())
{
ao.AstarG()+10);
tAstar(ao);
ao.tCratelist_ao(fal);
ao.tOpenlist_ao(true);
惠特尼休斯顿歌曲ao.tFathernode(minao);
ao.tFathernoad_X()+ao.getW()/2);
ao.tFaternoad_Y()+ao.getH()/2);
ao.tFaternoad_X()+2);
ao.Y()+ao.getH()/2);
AstarObject upao=null,downao=null;
toro是什么意思
for(int n=0;n&Aos().size();n++)
{
AstarObject Aos().get(n);
X()==X()+W()&&Y()==Y()-H()) {
upao=ao1;

本文发布于:2023-06-19 05:30:23,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/150210.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:查找   列表   算法   路径   节点   开启   点阵   结束
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图