(连连看程序设计代码.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(连连看程序设计代码

#pragma once //表示坐标轴上的一个点[X,Y] struct Point { ? ? Point():X(-1),Y(-1){} ? ? ? Point(int _x,int _y):X(_x),Y(_y){} ? ? ? Point(const Point p):X(p.X),Y(p.Y){} ? ? ? Point operator=(const Point p){ ? ? ? ? X=p.X; ? ? ? ? Y=p.Y; ? ? ? ? return *this; ? ? } ? ? ? inline bool operator==(const Point p) ? ? { ? ? ? ? return X==p.X Y==p.Y; ? ? } ? ? ? inline bool operator==(Point p) ? ? { ? ? ? ? return X==p.X Y==p.Y; ? ? } ? ? ? inline bool operator!=(const Point p) ? ? { ? ? ? ? return X!=p.X || Y!=p.Y; ? ? } ? ? ? inline bool operator!=(Point p) ? ? { ? ? ? ? return X!=p.X || Y!=p.Y; ? ? } ? ? ? int X;//X轴 ? ? int Y;//Y轴 };? ? TwoPoint其实是对两个点的一层简单的包装。用户需要点击两个点,我就用这个类来包装这两个点,连接两个点,最多可能出现2两个拐点(在需要三条线连接两个点的时候),我们还是可以用TwoPoint来包装这两个拐点,并附带了一些其他的辅助方法。 ? ? #pragma once //用于记录用户点击了哪两个点 ? class TwoPoint { ? ? public: ? ? ? ? TwoPoint();? ? ? ? ? ~TwoPoint();? ? ? ? ? //添加点 ? ? ? ? bool AddPoint(const Point p); ? ? ? ? ? //点的个数 ? ? ? ? int Count() const; ? ? ? ? ? Point First() const; ? ? ? ? void First(const Point p); ? ? ? ? Point Second() const;? ? ? ? ? void Sort(); ? ? ? ? void Clear(); ? ? private: ? ? ? ? TwoPoint(const TwoPoint p);? ? ? ? ? TwoPoint operator=(const TwoPoint p);? ? ? ? ? Point* first; ? ? ? ? Point* second; ? ? ? ? int count; }; ? PathRecord将用户点击的两个点击拐点,按顺序连接起来经过的所有的点集合,开始在做的时候主要是为了测试用的。 ? ? ? #pragma once //存放连线经过的所有点 class PathRecord { ? ? public:? ? ? ? ? //清除集合中所有的元素 ? ? ? ? void Clear();? ? ? ? ? void AddPoint(const Point p);//添加一个点 ? ? ? ? void AddPointLine(const Point first,const Point second);//添加两个点确定的直线上所有的点 ? ? ? ? void AddPoint(const Point first,const Point center1,const Point second); ? ? ? ? void AddPoint(const Point first,const Point center1,const Point center2,const Point second); ? ? ? ? ~PathRecord(); ? ? ? ? Point* operator[](int index); ? ? ? ? int Size(); ? ? private: ? ? ? ? vectorPoint* pointVector; }; ? PathFind主要是测试两个点是否能成功连接,练练的核心实现就是他了。 ? ? ? #pragma once? extern DType A[row][column]; //寻路,主要的逻辑实现 ?? class PathFind { ? ? public: ?

文档评论(0)

xinghua3aa + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档