关于地图存储方法的讨论
2018-03-29 01:45
309 查看
此次会议进行于3月25日晚9:00。主要是分工后,后端、前端分别就已经思考过一段时间,且完成部分的程序进行交流,确定各个后端部分的协同方式、接口参数。这次会议讨论中出现的主要议题为地图的后端存储方式。我们一致得出结论,地图在后端应该仅仅存储拓扑结构,而细节由前端给出。但是一直没有得到解决的是,路径和玩家的移动结合,会产生的一个问题。
PlayerChecker接收前端信息,将玩家的初位置和移动方向,传递给MapChecker,MapChecker应据此计算得出玩家的终点。而地图依照规则,某些路径在某些情况下是不能行进的。如何存储地图使得终点的计算比较容易是一个难解之题。讨论中出现的提议包括:有向图+运动偏好设置、n维坐标,等等,但均因无法满足规则需求而否定。最终由组长隆晋威同学给出了一个有效的解决方案。在拓扑图形上定义长度为2的边即可。如下图,下图中可以从上面两个节点运动两个节点到达下方,但反方向不允许。
上图中,单向虚线权值为2,其他边权值为1。若定义优先走最长的路径,则可以实现上述规则。
PlayerChecker接收前端信息,将玩家的初位置和移动方向,传递给MapChecker,MapChecker应据此计算得出玩家的终点。而地图依照规则,某些路径在某些情况下是不能行进的。如何存储地图使得终点的计算比较容易是一个难解之题。讨论中出现的提议包括:有向图+运动偏好设置、n维坐标,等等,但均因无法满足规则需求而否定。最终由组长隆晋威同学给出了一个有效的解决方案。在拓扑图形上定义长度为2的边即可。如下图,下图中可以从上面两个节点运动两个节点到达下方,但反方向不允许。
上图中,单向虚线权值为2,其他边权值为1。若定义优先走最长的路径,则可以实现上述规则。
相关文章推荐
- 北亚数据恢复关于服务器存储MDisk重建的数据恢复方法的研究
- 关于极限证明方法的专题讨论I
- cocos2dx 3.6 关于场景间传值(UserDefault)、本地存储的基本方法(tinyxml2)
- 关于存储过程事务,返回值,变量声明以及执行方法
- 关于存储、读入Object,贴两个方法
- 关于软件原型方法若干问题的讨论
- 关于实现S5PV210同时跑wince 和android双系统实现的可能性讨方法讨论
- 关于本地存储构成数组以及jquery的inArray方法的使用
- 关于sql 关闭资源常用两种方法的讨论
- 关于C#方法参数的讨论
- 关于 字符串中的单引号, 在sql存储过程中的传输总结; 逗号分隔的多个变量提取方法.
- 关于Android的getSharedPreferenences的方法存储,真机看不见的解释
- 关于vector的erase删除操作的两种不同方法,在linux与visual studio的实现讨论
- 一篇文章理解所有android关于存储的方法
- 关于SharedPreferences存储数据的使用方法
- 看关于Sybase存储过程的建立和使用方法
- 关于ttime的序列化存储及读取的方法
- 关于后台接收并存储移动端自带emoji的详细方法(mysql数据库)
- 关于使用 Hibernate 调用存储过程方法
- 一篇文章理解所有android关于存储的方法