QQ连连看外挂开发过程记录
#define M 4
#define N 5
#define BLANK 0
struct Point
{
int x;
int y;
};
Point arr1[209];
int arr1Len=0;
Point arr2[209];
int arr2Len=0;
{
for(int i=0;i<M;i++)
for(int j=0;j<N;j++)
map[i][j]=0;
map[1][1]=1;
//map[1][2]=2;
map[1][3]=2;
map[2][1]=3;
map[2][3]=4;
//map[2][1]=3;
map[3][1]=1;
map[3][3]=1;
map[3][2]=6;
}
//若有两个点相同,说明数组有相同点,返回真.此方法用来判断空点集是否相交
bool IsShare(Point* a1,int a1Len,Point* a2,int a2Len)
{
bool result=false;
for(int i=0;i<a1Len;i++)
for(int j=0;j<a2Len;j++)
if(a1[i].x==a2[j].x&&a1[i].y==a2[j].y)
result=true;
return result;
}
void ShowArray(Point* aaaa,int len)
{
for(int i=0;i<len;i++)
printf("(%d,%d)上的值%d/n",aaaa[i].x,aaaa[i].y,map[aaaa[i].x][aaaa[i].y]);
}
bool IsDirectLink(int x1,int y1,int x2,int y2)
{
if(x1==x2)
{
int miny=y1+1;
while(map[x1][miny]==BLANK)
miny++;
if(miny==y2)
return true;
else
return false;
}
if(y1==y2)
{
int minx=x1+1;
while(map[minx][y1]==BLANK)
minx++;
if(minx==x2)
return true;
else
return false;
}
return false;
}
int FindEmpty(int x,int y,Point* arr)
{
int count=0;
int pos=x-1;
while(0<=pos&&pos<M&&map[pos][y]==BLANK)
{
arr[count].x=pos;
arr[count].y=y;
pos--;
count++;
}
while(0<=pos&&pos<M&&map[pos][y]==BLANK)
{
arr[count].x=pos;
arr[count].y=y;
pos++;
count++;
}
while(0<=pos&&pos<N&&map[x][pos]==BLANK)
{
arr[count].x=x;
arr[count].y=pos;
pos--;
count++;
}
while(0<=pos&&pos<N&&map[x][pos]==BLANK)
{
arr[count].x=x;
arr[count].y=pos;
pos++;
count++;
}
}
bool IndirectLink(int x1,int y1,int x2,int y2)
{
int pos=0;
Point ar1[209];
int ar1Len=0;
Point ar2[209];
int ar2Len=0;
//if(y1==y2)
//{
pos=y1-1;
while(0<=pos&&pos<N&&map[x1][pos]==BLANK)
{
ar1Len=FindEmpty(x1,pos,ar1);
ar2Len=FindEmpty(x2,y2,ar2);
if(IsShare(ar1,ar1Len,ar2,ar2Len))
return true;
pos--;
}
pos=y1+1;
while(0<=pos&&pos<N&&map[x1][pos]==BLANK)
{
ar1Len=FindEmpty(x1,pos,ar1);
ar2Len=FindEmpty(x2,y2,ar2);
if(IsShare(ar1,ar1Len,ar2,ar2Len))
return true;
pos++;
}
//{
pos=x1-1;
while(0<=pos&&pos<M&&map[pos][y1]==BLANK)
{
ar1Len=FindEmpty(pos,y1,ar1);
ar2Len=FindEmpty(x2,y2,ar2);
if(IsShare(ar1,ar1Len,ar2,ar2Len))
return true;
pos--;
pos=x1+1;
while(0<=pos&&pos<M&&map[pos][y1]==BLANK)
{
ar1Len=FindEmpty(pos,y1,ar1);
ar2Len=FindEmpty(x2,y2,ar2);
if(IsShare(ar1,ar1Len,ar2,ar2Len))
return true;
pos++;
}
// }
}
bool IsLink(int x1,int y1,int x2,int y2)
{
if(IsDirectLink(x1,y1,x2,y2))
{
printf("DirectLink!");
return true;
}
else
{
//arr1Len=FindEmpty(x1,y1,arr1);
//arr2Len=FindEmpty(x2,y2,arr2);
if(IsShare(arr1,arr1Len,arr2,arr2Len))
{
printf("One Corner Link!");
return true;
}
else
{
printf("Two Corner Link!");
return IndirectLink(x1,y1,x2,y2);
}
}
}
int main(int argc, char* argv[])
{
int xpos1,ypos1,xpos2,ypos2;
printf("请输入要测试的行列(按数据结构中的数组序):");
scanf("%d %d %d %d",&xpos1,&ypos1,&xpos2,&ypos2);
InitArray();
arr1Len=FindEmpty(xpos1,ypos1,arr1);
arr2Len=FindEmpty(xpos2,ypos2,arr2);
/*
if(IsShare(arr1,arr1Len,arr2,arr2Len))
printf("有交点/n");
else
printf("没有交点/n");
*/
if(IsLink(xpos1,ypos1,xpos2,ypos2))
printf("有交点/n");
else
printf("没有交点/n");
return 0;
}
QQ连连看外挂开发过程记录相关推荐
- QQ连连看外挂V1.0版发布啦!!
本外挂支持最新的连连看角色版.功能如下: 1.可手动设置消去时间,可以在秒杀对手也可以慢慢消(这样不容易被发现是在用外挂,可以赚很多分) 2.可设为自动开始.程序自动运行.若有事出门,可选自动开始,在 ...
- 自制 QQ游戏 连连看 外挂 ~~
这几天期末考,完全没有考试的心情,又无聊到玩起连连看,可惜输得太多,非常不爽,于是自己做个连连看外挂玩一下.网上有很多连连看的外挂可以下载,不过自己做一个来用,感觉自然不一样,毕竟还是学计算机的嘛~~ ...
- 连连看外挂消去算法分析
很久之前发布了一个小外挂,是我自己捣鼓出来的QQ游戏连连看外挂. 见:http://www.cnblogs.com/G_Weber/archive/2009/06/02/1494871.html 在做 ...
- QQ游戏外挂制作教程 (对对碰)
这些日子,QQ游戏外挂是风光了一阵.俄罗斯方块,连连看,对对碰这些游戏的外挂层出不穷.其实这一类外挂的原理大体都是一样的.下面我就以QQ游戏对对碰外挂作为例子阐述一下QQ外挂的制作原理. ...
- 200行Python实现效果逆天的连连看外挂
本文内容转自我本人的知乎回答:你看过/写过哪些有意思的代码? - 三级狗的回答 - 知乎 https://www.zhihu.com/question/275611095/answer/4079841 ...
- Android 手机影音 开发过程记录(六)
Android 手机影音 开发过程记录(六) 前一篇已经将音乐播放及切换的相关逻辑弄好了,今天主要理一下剩余的部分,包含: 1. 自己定义通知栏的布局及逻辑处理 2. 滚动歌词的绘制 3. 歌词解析 ...
- QQ连连看棋盘数组找法:
QQ连连看棋盘数组找法: 1. 附加CE 2. 内存扫描选项----选择全部, 数值类型:为字节(byte) 3. 索定棋盘左上角第一个格子 搜索大于0的数值 消除几对棋子, ...
- QQ抢车位外挂(起始篇)--小研究成果展示
经过几天的研究,把QQ抢车位的小外挂攻克下来了,哼哼,以后玩这个游戏再也不用进去,1辆车1辆车的换了. 研究证明,QQ对于安全方面做的还是比较好的,不像开心网(http://www.kaixin001 ...
- PyQt5图形界面GUI开发过程记录
PyQt5图形界面GUI开发过程记录 一.PyQT的简介与安装 1.1 常用的图形界面GUI 1.2 PyQT5的安装 二.PyQt的基本使用 2.1 QApplication 2.2 界面控件 2. ...
- 关于QQ开心农场外挂 开发
很久没更新博客了,今天就拿开发QQ开心农场外挂的一些问题来写篇短日志充个数. 关于登陆 在web上,QQ登陆的时候是将密码加密后再提交了,打开http://xiaoyou.qq.com ...
最新文章
- AI芯片重磅破局者,开启边缘新智元
- numpy/arrayobject.h”: No such file or directory
- 目标检测--边界框(bounding box)解析
- ASP.NET Core 实战:基于 Jwt Token 的权限控制全揭露
- IDEA中导入支付宝电脑网站支付测试Demo遇到的错误
- vb的VSFlexGrid控件
- 怎么查看当前登录的svn账号_在linux下查看svn对应的账号和密码
- 基于DSP的主动降噪开发之三(CCS软件学习)
- Tomcat官网免费下载地址
- MySQL Router 8 详解
- python的编码解码是什么意思_python - 这是什么编码,如何解码
- 免费AI数据标注工具-音频标注软件
- Faiss:Facebook开源的相似性搜索类库
- 如何使用 ABAP 代码发送带有 PDF 附件的电子邮件
- 2014522420145238 《信息安全系统设计基础》 第三次实验
- 研究生录取数据分析 Python123
- 反向工程之“测测你的本命专业”
- 小程序发送 request请求失败 提示不在合法域名列表中的解决方法
- catalan 数。。
- Button点击事件