连连看:核心代码分析

1. MFC与Qt的选择

楼主因为学校要去使用C++ 无奈在MFC与Qt中选择很久
在网上查找了一些资料:
Qt 是跨平台的 尤其是在Linux上 用的很多,一些嵌入式软件开发尤其图形化 使用的就是Qt。缺点就是开发文档并不是特别多。
MFC 微软的,因此资源要多上不少,但是只能在VS上编写。没有跨平台。但是毕竟VS开发效率要高,更新快。
Qt当VS装上插件也是可以在VS上开发的

2.核心代码讲解

-连连看要求为两个点之间必须小于等于三条线
先分析为0条的线:

连连看:核心代码分析_第1张图片

point A(x1,y1);
point B(x2,y2);
//当为0条时  A  B两个点一定是挨着的 x或y一定是相等的
if(x1==x2||y1==y2){
    //x相等 看y相邻 相差为1 
    if(y2==(y1-1)||(y2==y1+1))show();
    if(x2==(x1-1)||(x2==x1+1))show();
}

3.一条线

连连看:核心代码分析_第2张图片

如图所示 x相等时 我们从y1遍历到y2 当判断过程中没有点时便可以连接显示 adj[x1][i]>0 认为有点存在于路径上
因此 有0条线 可以合并在第一条线中

point A(x1,y1);
point B(x2,y2);
if(x1==x2){  //也是x相等  或y相等
    forint i=y1;iif(adj[x1][i]>0)break;
    if(i==y2-1)show();
}
if(y1==y2){
    for(int i=x1;iif(adj[i][y1]>0)break;
    if(i=x2-1)show();
}

你可能感兴趣的:(连连看:核心代码分析)