Chinaunix首页 | 论坛 | 博客
  • 博客访问: 14506470
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 20:59:07

下载本文示例代码
  下载本文源代码  一、制作思路   1、得到QQ连连看窗口指针,从而得到CDC;   2、对每幅图片取4个点进行编码;   3、实现连连看的算法;   4、模拟鼠标消去块;   界面如下:   二、部分代码 //定义的数据bool flagx=true; int point1x,point1y,point2x,point2y;//保存需要单击点的位置struct MYCOLOR{ COLORREF c[4];};MYCOLOR tc[230];//颜色表230〉11*19int tcnum; //所有图片的种类int map[19][11]; //存放每个图片的颜色索引int r1,g1,b1,r2,b2,g2; int pop1,pop2;//对图形进行编码void CZg1Dlg::OnButton3() { int pnum=0; ////////////////// int t[4]={15,11,15,21};//取的4个点的x相对位移 int tt[4]={17,17,21,17};////取的4个点的y相对位移 //////////////////// int result; tc[0].c[0]=tc[0].c[1]=tc[0].c[2]=tc[0].c[3]=7753015; tcnum=1; MYCOLOR tmp; CPoint p(10,180); CDC *pdc=myc->GetDC(); CString hh=" 编码结果: \n"; CString h; int myr,myg,myb,t_t,sh; for(int i=0;i<11;i ) {  p.y=180 i*35;  for(int j=0;j<19;j )  {   p.x=10 j*31;   for(int k=0;k<4;k )    tmp.c[k]=pdc->GetPixel(p.x t[k],p.y tt[k]);    sh=0;    for(t_t=0;t_t<4;t_t )    {     myr=GetRValue(tmp.c[t_t]);     myg=GetGValue(tmp.c[t_t]);     myb=GetBValue(tmp.c[t_t]);     if ((myr<73)&&(myr>45)&&(myg>50)&&(myg<90)&& \(myb>103) &&(myb<129))       sh ;    }    if(sh==4)     map[j][i]=0;    else    {     pnum ;     result=findcolor(tmp);     if(result==-1)     {      tc[tcnum].c[0]=tmp.c[0];      tc[tcnum].c[1]=tmp.c[1];      tc[tcnum].c[2]=tmp.c[2];      tc[tcnum].c[3]=tmp.c[3];      map[j][i]=tcnum;      tcnum ;      }     else     {      map[j][i]=result;     }    }    h.Format("%d ",map[j][i]);    hh =h;    sh=0;   }   hh ="\n";  }  bool yy=true;  for(int y1=0;y1<11;y1 )  {   for(int y2=0;y2<19;y2 )   {    if(tc[map[y2][y1]].c[0]==-1)     yy=false;   }  }  CString cs2;  cs2.Format("总共有 %d 可消!",pnum);  hh =cs2;  MessageBox(hh);  for(i=0;i<11;i )   for(int j=0;j<19;j )   {    mymap[i][j]=map[j][i];   }   if(!yy)   {    MessageBox("请重新编码!\n      编码时要确保游戏窗口不要被其他窗口挡住!");    }  flagx=true; }   三、结束语  不足之处是点击2次鼠标才能消去1对。因为这个游戏必须鼠标真正点击1次才能作到实现鼠标模拟的另外一次单击。   下载本文源代码  一、制作思路   1、得到QQ连连看窗口指针,从而得到CDC;   2、对每幅图片取4个点进行编码;   3、实现连连看的算法;   4、模拟鼠标消去块;   界面如下:   二、部分代码 //定义的数据bool flagx=true; int point1x,point1y,point2x,point2y;//保存需要单击点的位置struct MYCOLOR{ COLORREF c[4];};MYCOLOR tc[230];//颜色表230〉11*19int tcnum; //所有图片的种类int map[19][11]; //存放每个图片的颜色索引int r1,g1,b1,r2,b2,g2; int pop1,pop2;//对图形进行编码void CZg1Dlg::OnButton3() { int pnum=0; ////////////////// int t[4]={15,11,15,21};//取的4个点的x相对位移 int tt[4]={17,17,21,17};////取的4个点的y相对位移 //////////////////// int result; tc[0].c[0]=tc[0].c[1]=tc[0].c[2]=tc[0].c[3]=7753015; tcnum=1; MYCOLOR tmp; CPoint p(10,180); CDC *pdc=myc->GetDC(); CString hh=" 编码结果: \n"; CString h; int myr,myg,myb,t_t,sh; for(int i=0;i<11;i ) {  p.y=180 i*35;  for(int j=0;j<19;j )  {   p.x=10 j*31;   for(int k=0;k<4;k )    tmp.c[k]=pdc->GetPixel(p.x t[k],p.y tt[k]);    sh=0;    for(t_t=0;t_t<4;t_t )    {     myr=GetRValue(tmp.c[t_t]);     myg=GetGValue(tmp.c[t_t]);     myb=GetBValue(tmp.c[t_t]);     if ((myr<73)&&(myr>45)&&(myg>50)&&(myg<90)&& \(myb>103) &&(myb<129))       sh ;    }    if(sh==4)     map[j][i]=0;    else    {     pnum ;     result=findcolor(tmp);     if(result==-1)     {      tc[tcnum].c[0]=tmp.c[0];      tc[tcnum].c[1]=tmp.c[1];      tc[tcnum].c[2]=tmp.c[2];      tc[tcnum].c[3]=tmp.c[3];      map[j][i]=tcnum;      tcnum ;      }     else     {      map[j][i]=result;     }    }    h.Format("%d ",map[j][i]);    hh =h;    sh=0;   }   hh ="\n";  }  bool yy=true;  for(int y1=0;y1<11;y1 )  {   for(int y2=0;y2<19;y2 )   {    if(tc[map[y2][y1]].c[0]==-1)     yy=false;   }  }  CString cs2;  cs2.Format("总共有 %d 可消!",pnum);  hh =cs2;  MessageBox(hh);  for(i=0;i<11;i )   for(int j=0;j<19;j )   {    mymap[i][j]=map[j][i];   }   if(!yy)   {    MessageBox("请重新编码!\n      编码时要确保游戏窗口不要被其他窗口挡住!");    }  flagx=true; }   三、结束语  不足之处是点击2次鼠标才能消去1对。因为这个游戏必须鼠标真正点击1次才能作到实现鼠标模拟的另外一次单击。 下载本文示例代码


Visual C 6.0制作QQ连连看外挂Visual C 6.0制作QQ连连看外挂Visual C 6.0制作QQ连连看外挂Visual C 6.0制作QQ连连看外挂Visual C 6.0制作QQ连连看外挂Visual C 6.0制作QQ连连看外挂Visual C 6.0制作QQ连连看外挂Visual C 6.0制作QQ连连看外挂Visual C 6.0制作QQ连连看外挂Visual C 6.0制作QQ连连看外挂Visual C 6.0制作QQ连连看外挂Visual C 6.0制作QQ连连看外挂Visual C 6.0制作QQ连连看外挂Visual C 6.0制作QQ连连看外挂Visual C 6.0制作QQ连连看外挂
阅读(118) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~