美文网首页
六边形格子地图 数据结构和寻路

六边形格子地图 数据结构和寻路

作者: 老北京程序员 | 来源:发表于2020-09-09 10:06 被阅读0次

最近做了个跳棋小游戏,于是接触了一下六边形的东西,简单记录一下

六边形格子地图,坐标为数据结构大概可以抽象为


每个棋子的位置为

position = cc.v2((x +  (y % 2 == 0 ? 0 : 0.5) )* gridWidth , y * gridHeight);

再抽象一下

每两个格子的寻路步数为

getDistance: function (from, to) {
    let dx = to.x - from.x;
    let dy = to.y - from.y;
    var lucky = dx > 0 ^ from.y % 2 == 0;
    var xOffset = lucky ? Math.ceil(Math.abs(dy / 2)) : Math.floor(Math.abs(dy / 2));
    var step = xOffset >= Math.abs(dx) ? Math.abs(dy) : (Math.abs(dy) + Math.abs(dx) - xOffset);
    return step;
}

————————

想要学习Cocos的同学,欢迎关注我的零基础Cocos教程

https://ke.qq.com/course/313749

相关文章

  • 六边形格子地图 数据结构和寻路

    最近做了个跳棋小游戏,于是接触了一下六边形的东西,简单记录一下 六边形格子地图,坐标为数据结构大概可以抽象为 每个...

  • 算法 & 数据结构——导航网格

    这是之前写的寻路算法《栅格导航寻路》 栅格导航: 顾名思义,所有格子大小都是一致的。格子大小决定寻路精度,对于大地...

  • 游戏里的跨地图寻路算法

    前段时间遇到一个跨地图寻路的需求,需要在任意两个地图之间自动寻路。我们的寻路算法用的是AStar,每个地图都有一份...

  • 地图寻路搜索

    项目中集成了高德开放平台地铁图 JS API 传送门,经过长期的功能迭代,甲方提出了各种定制化需求来优化体验,而使...

  • CocosCreator中,生成2D格子地图

    说明 在Canvas下生成。需配置相邻格子的间距,地图的位置(中央位置的坐标)传入格子地图的宽、高。外界可传入格子...

  • cocos creator Astar寻路导航与地图编辑

    1、插件或者TileMap工具生成地图json文件 2、astar寻路算法 3、将json文件与寻路算法结合,获得...

  • 游戏六边形地图方案及推论

    以下方案基于将三维立方体堆叠数据转换为二维平面数据,最终构成的是尖朝上六边形地图。边朝上六边形地图也可得出相似的推...

  • 找到你的路

    当你不清楚自己的位置,并想找到目的地时,寻路是常用的方法。寻路时,你需要指南针和明确的方向——不是一张地图,而是方...

  • 数据结构与算法(启发式寻路)

    启发式寻路代码 输入起点和终点,在地图中查找到最短路径 github代码:https://github.com/c...

  • 算法 & 数据结构——A*寻路

    A*是一种很常见的游戏寻路算法。 长久以来,我一直觉得A*是一种高大上的算法,因为听很多人说起此算法,然而,江湖一...

网友评论

      本文标题:六边形格子地图 数据结构和寻路

      本文链接:https://www.haomeiwen.com/subject/plxeektx.html