当前位置: 首页 > article >正文

C++自动寻径算法

测试
#include <iostream>
#include "source/AStar.hpp"

int main()
{
    AStar::Generator generator;
    generator.setWorldSize({25, 25});
    generator.setHeuristic(AStar::Heuristic::euclidean);
    generator.setDiagonalMovement(true);

    generator.addCollision({1, 1}); // 添加障碍物
    generator.addCollision({1, 2}); // 添加障碍物
    generator.addCollision({2, 1}); // 添加障碍物
    generator.addCollision({2, 0}); // 添加障碍物
    generator.addCollision({0, 2}); // 添加障碍物

    std::cout << "Generate path ... \n";
    auto path = generator.findPath({0, 0}, {3, 3});

    for(auto& coordinate : path) {
        std::cout << coordinate.x << " " << coordinate.y << "\n";
    }
}
 效果

正常

25 x 25 map, Generate path ...
3 3
2 2
1 1
0 0

 {1,1}{1,2}障碍 

25 x 25 map, Generate path ...
3 3
2 3
1 2
0 1
0 0

 全障碍 

25 x 25 map, Generate path ...
0 1
0 0

参考

GitHub - daancode/a-star: A* algorithm C++ implementation.


创作不易,小小的支持一下吧!


http://www.kler.cn/a/313074.html

相关文章:

  • 谷歌浏览器的自动翻译功能如何开启
  • 使用 Vue 配合豆包MarsCode 实现“小恐龙酷跑“小游戏
  • Sql server 备份还原方法
  • 物流企业新闻稿怎么写?货运行业品牌宣传背书的报纸期刊杂志媒体有哪些
  • aws xray通过设置采样规则对请求进行过滤
  • BFD8122防爆轻便移动工作灯
  • 《黑神话悟空》开发框架与战斗系统解析
  • 4.C++中程序中的命名空间
  • git 本地分支误删,怎么恢复?误删本地已提交未推送的分支!
  • 基于Python实现一个浪漫烟花秀
  • 如何设置 Django 错误邮件通知 ?
  • I2C中继器TCA9517A(TI)
  • 新160个crackme - 060-snake
  • 2024年Q3国际信息系统安全认证联盟(ISC2)内部研讨会要点分享
  • 系统架构设计师 大数据架构篇二
  • 球形包围框-Bounding Sphere-原理-代码实现
  • Mycat中间件
  • 牛客BC92,逆序输出
  • 222222222
  • Qt/C++开发经验
  • 【深度学习 transformer】理解 Transformer:机器学习界的“变形金刚
  • Vue3:v-model实现组件通信
  • Streamlit:使用 Python 快速开发 Web 应用
  • 大数据新视界 --大数据大厂之AI 与大数据的融合:开创智能未来的新篇章
  • Git入门学习(1)
  • HTTP中的Cookie与Session