- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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:
?
您可能关注的文档
最近下载
- 超市网上购物系统.pdf VIP
- 2025年护理上半年工作总结及下半年工作计划.docx VIP
- 仓储管理员职业技能鉴定考试题及答案.pdf VIP
- 词汇导图语境助记Unit-4-Stage-And-Screen.ppt VIP
- 八氟环丁烷安全技术说明书MSDS.docx VIP
- 2024年最新医院财务科招聘考试题目含答案.doc VIP
- 大单元视域下的单元整体教学与实施.pptx VIP
- 第2讲 Silvaco TCAD 工艺仿真.pdf
- 如何制作吸引人的课件:技巧与步骤.ppt VIP
- T∕CAMET 11001.1-2019 智慧城市轨道交通 信息技术架构及网络安全规范 第1部分:总体需求.docx VIP
文档评论(0)