当前位置: 首页 > 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/news/313074.html

相关文章:

  • 《黑神话悟空》开发框架与战斗系统解析
  • 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
  • pandoc自定义过滤器
  • 小程序构建npm失败
  • WPF 所有的控件和每个控件的主要作用和应用场景
  • 25届计算机专业毕设选题推荐-基于python+Django协调过滤的新闻推荐系统
  • 数学辅导微信小程序--论文ppt源码调试讲解
  • 执行网络攻击模拟的 7 个步骤
  • 注册建造师执业工程规模标准(公路工程铁路工程通信与广电工程民航机场工程港口与航道工程)
  • (c语言+数据结构链表)项目:贪吃蛇
  • 使用LangGPT提示词让大模型比较浮点数
  • 一天认识一个硬件之连接线