摘要: 前几天在图书馆借了一本《游戏程序设计概论》,发现这本书还不错,对游戏有个大概的介绍。学了里面的四方向等高线寻路算法后,把它改成了八方向。大概原理是,从目的点开始向周围一步一步扩展,知道遇到起始点为止。用到了两个队列,一个作为源,一个作为目的。先把目的点放入源队列,在将目的点向八个方向扩展,并放入目的队列,然后交换源与目的,再将源队列中的点向周围扩展,并放入目的队列,如此循环,知道遇到起始点。标记好后,从起始点开始寻找最短路径。程序代码:[复制到剪贴板]CODE:#include #include #include "Queue.h"#define D_MapWidth 15 阅读全文
posted @ 2014-02-25 22:24 zzyoucan 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 首先,vector是序列式容器而set是关联式容器。set包含0个或多个不重复不排序的元素。也就是说set能够保证它里面所有的元素都是不重复的。另外对set容器进行插入时可以指定插入位置或者不指定插入位置。如insert(v.begin(),1),也可以直接用insert(1)。还有一点是set对一些操作符没有进行重载,如#include#include#include#includeusingnamespacestd;intmain(void){vectorv;v.insert(v.begin(),1);//如果使用insert(1)不指定插入位置,会出错v.insert(v.begin() 阅读全文
posted @ 2014-02-25 21:51 zzyoucan 阅读(790) 评论(0) 推荐(0) 编辑
摘要: 摘要:本文列出几个基本的STL map和STL set的问题,通过解答这些问题讲解了STL关联容器内部的数据结构,最后提出了关于UNIX/LINUX自带平衡二叉树库函数和map, set选择问题,并分析了map, set的优势之处。对于希望深入学习STL和希望了解STL map等关联容器底层数据结构的朋友来说,有一定的参考价值。vector(向量)——STL中标准而安全的数组。只能在vector 的“前面”增加数据。deque(双端队列double-ended queue)——在功能上和vector相似,但是可以在前后两端向其中添加数据。list(列表)——游标一次只可以移动一步。如果你对链表 阅读全文
posted @ 2014-02-25 21:44 zzyoucan 阅读(271) 评论(0) 推荐(0) 编辑