Dim qdx,qdy,jk,jg,colorsex,colors,colorss,colorssex,临时列表

Dim 格子(9,13),检测(9,13)

//格子数组是保存每个格子数据,检测数组是保存格子是否为空

Dim 横向一步列表,纵向一步列表

横向一步列表 = "s" : 纵向一步列表 = "s" //初始化值

Dim 延迟

延迟 = 5 //适当加个延迟

SetControlBarPos 0.9

qdx = 65 : qdy = 76 //起点x,起点y

jk = 81 : jg = 81//每个格子宽距离和高距离

For i = 0 To 9

格子(i, 0) = 0

检测(i, 0) = 0

格子(i, 13) = 0

检测(i, 13) = 0

Next

For j = 0 To 13

格子(0, j) = 0

检测(0, j) = 0

格子(9, j) = 0

检测(9, j) = 0

Next

//==================两组for循环是因为连连看可以从边缘连击,所以创造一个边缘格子数组,0表示什么都没有==================

Rem 重新开始

Do

Dim 无用格子

无用格子 = ""

KeepCapture

For j = 1 To 12 //获取格子颜色 进行分类

For i = 1 To 8

colors = ColorDiff(GetPixelColor(qdx + (i-1) * jk, qdy + (j-1) * jg), "000000")

格子(i,j) = colors // 获取每个格子的颜色 以便连击

If ColorDiff(GetPixelColor(45 + (i-1) * jk, 45 + (j-1) * jg), "000000") <= 10 Then

检测(i, j) = 0 //检测此格子是不是被消除了,是就赋值为0,不是就为1

Else

检测(i, j) = 1 //为后面判断提供条件,如果是0那么此路通可以继续判断,否则判断两个格子颜色是否一样

End If

Next

Next

ReleaseCapture

For j = 1 To 12

For i = 1 To 8

If UTF8.InStr(1, 无用格子, i & "," & j) <> 0 Then //在连击后保存被消除了的两个格子信息,遍历时跳过以消除过的格子

Goto 循环

End If

If 检测(i, j) <> 1 Then //判断当前格子是不是可以消除

Goto 循环

End If

Call 中(i, j)

Rem 循环

Next

Next

Loop

//=====================回复一下给予我一点动力=====================

Function 中(i, j)

Dim xx,yy

//横 右

//获取右方向格子数据进行判断,是空的保存到“横向一步列表”然后进行后续两步的判断。 不是空的则判断两个格子是否一样

For xx = i+1 To 9

If 检测(xx, j) = 0 Then

横向一步列表 = 横向一步列表 & "|" & xx & "," & j

ElseIf 格子(i, j) = 格子(xx, j) Then

Tap (i-1) * jk + qdx, (j-1) * jg + qdy

Tap (i-1) * jk + qdx, (j-1) * jg + qdy

Tap (xx - 1) * jk + qdx, (j - 1) * jg + qdy

Tap (xx - 1) * jk + qdx, (j - 1) * jg + qdy

无用格子 = 无用格子 & "|" & xx & "," & j //寻找到格式格子进行消除,并把消除的两个格子信息保存到“无用格子”中

横向一步列表 = "s" //此时不需要后续两步判断直接跳出函数

Exit Function

ElseIf 格子(i, j) <> 格子(xx, j) Then

Exit For

End If

Next

Delay 延迟

//横 左

For xx = i-1 To 0 Step -1

If 检测(xx, j) = 0 Then

横向一步列表 = 横向一步列表 & "|" & xx & "," & j

ElseIf 格子(i, j) = 格子(xx, j) Then

Tap (i-1) * jk + qdx, (j-1) * jg + qdy

Tap (i-1) * jk + qdx, (j-1) * jg + qdy

Tap (xx - 1) * jk + qdx, (j - 1) * jg + qdy

Tap (xx - 1) * jk + qdx, (j - 1) * jg + qdy

无用格子 = 无用格子 & "|" & xx & "," & j

横向一步列表 = "s"

Exit Function

ElseIf 格子(i, j) <> 格子(xx, j) Then

Exit For

End If

Next

If 横向一步列表 <> "s" Then //横向第一步判断完后进行后续两步判断

临时列表 = 纵向列表(i, j, 横向一步列表) //这是第二步判断

Call 横向列表(i, j, 临时列表) //这是第三步判断

临时列表 = "s"

横向一步列表 = "s" //连连看只能拐弯两次,也就是三步,三步完成后所有列表初始化

End If

Delay 延迟

//=================================横向查找完成=================================

//竖 下

For yy = j+1 To 13

If 检测(i, yy) = 0 Then

纵向一步列表 = 纵向一步列表 & "|" & i & "," & yy

ElseIf 格子(i, j) = 格子(i, yy) Then

Tap (i-1) * jk + qdx, (j-1) * jg + qdy

Tap (i-1) * jk + qdx, (j-1) * jg + qdy

Tap (i-1) * jk + qdx, (yy-1) * jg + qdy

Tap (i-1) * jk + qdx, (yy-1) * jg + qdy

无用格子 = 无用格子 & "|" & i & "," & yy

纵向一步列表 = "s"

Exit Function

ElseIf 格子(i, j) <> 格子(i, yy) Then

Exit For

End If

Next

Delay 延迟

//竖 上

For yy = j-1 To 0 Step -1

If 检测(i, yy) = 0 Then

纵向一步列表 = 纵向一步列表 & "|" & i & "," & yy

ElseIf 格子(i, j) = 格子(i, yy) Then

Tap (i-1) * jk + qdx, (j-1) * jg + qdy

Tap (i-1) * jk + qdx, (j-1) * jg + qdy

Tap (i-1) * jk + qdx, (yy-1) * jg + qdy

Tap (i-1) * jk + qdx, (yy-1) * jg + qdy

无用格子 = 无用格子 & "|" & i & "," & yy

纵向一步列表 = "s"

Exit Function

ElseIf 格子(i, j) <> 格子(i, yy) Then

Exit For

End If

Next

If 纵向一步列表 <> "s" Then //这里跟横向一样

临时列表 = 横向列表(i, j, 纵向一步列表)

Call 纵向列表(i,j,临时列表)

临时列表 = "s"

横向一步列表 = "s"

End If

//=================================纵向查找完成=================================

Delay 延迟

End Function

Function 纵向列表(i,j,列表) //输入横向列表,得出来一条纵向可走格子,再调用横向列表函数即可完成查找

Dim ii,i_i,jj,j_j,暂时列表,无用格子,暂时列表ex,多步列表

多步列表 = "s"

If 列表 <> "s" Then

暂时列表 = Split(列表, "|")

For i_i = 1 To UBOUND(暂时列表)

暂时列表ex = Split(暂时列表(i_i), ",")    //暂时列表ex(0)是空白格的x坐标,暂时列表ex(1)是空白格的y坐标

//=================================================================

//纵向上

If 暂时列表ex(1) <> 0 Then

For jj = 暂时列表ex(1)-1 To 0 step -1

If 检测(暂时列表ex(0), jj) = 0 Then

多步列表 = 多步列表 & "|" & 暂时列表ex(0) & "," & jj

纵向列表 = 多步列表

ElseIf 格子(i, j) = 格子(暂时列表ex(0), jj) Then

Tap (i - 1) * jk + qdx, (j - 1) * jg + qdy

Tap (i - 1) * jk + qdx, (j - 1) * jg + qdy

Tap (暂时列表ex(0) - 1) * jk + qdx, (jj - 1) * jg + qdy

Tap (暂时列表ex(0) - 1) * jk + qdx, (jj - 1) * jg + qdy

无用格子 = 无用格子 & "|" & 暂时列表ex(0) & "," & jj

多步列表 = "s"

纵向列表 = 多步列表

列表 = "s" //找到可消除的格子,所有保存的列表清空

Exit Function

ElseIf 格子(i, j) <> 格子(暂时列表ex(0), jj) Then

Exit For

End If

Next

End If

//=================================================================

//纵向下

If 暂时列表ex(1) <> 13 Then

For jj = 暂时列表ex(1)+1 To 13

If 检测(暂时列表ex(0), jj) = 0 Then

多步列表 = 多步列表 & "|" & 暂时列表ex(0) & "," & jj

纵向列表 = 多步列表

ElseIf 格子(i, j) = 格子(暂时列表ex(0), jj) Then

Tap (i - 1) * jk + qdx, (j - 1) * jg + qdy

Tap (i - 1) * jk + qdx, (j - 1) * jg + qdy

Tap (暂时列表ex(0) - 1) * jk + qdx, (jj - 1) * jg + qdy

Tap (暂时列表ex(0) - 1) * jk + qdx, (jj - 1) * jg + qdy

无用格子 = 无用格子 & "|" & 暂时列表ex(0) & "," & jj

多步列表 = "s"

纵向列表 = 多步列表

列表 = "s" //找到可消除的格子,所有保存的列表清空

Exit Function

ElseIf 格子(i, j) <> 格子(暂时列表ex(0), jj) Then

Exit For

End If

//=================================================================

Next

End If

Next

End If

End Function

Function 横向列表(i,j,列表) //输入纵向列表,得出来一条横向可走格子,再调用纵向列表函数即可完成查找

Dim ii,i_i,jj,j_j,暂时列表,无用格子,暂时列表ex,多步列表

If 列表 <> "s" Then

暂时列表 = Split(列表, "|")

For i_i = 1 To UBOUND(暂时列表)

暂时列表ex = Split(暂时列表(i_i), ",")    //暂时列表ex(0)是空白格的x坐标,暂时列表ex(1)是空白格的y坐标

//=================================================================

//横向左

If 暂时列表ex(0) <> 0 Then

For ii = 暂时列表ex(0)-1 To 0 step -1

If 检测(ii, 暂时列表ex(1)) = 0 Then

多步列表 = 多步列表 & "|" & ii & "," & 暂时列表ex(1)

横向列表 = 多步列表

ElseIf 格子(i, j) = 格子(ii, 暂时列表ex(1)) Then

Tap (i - 1) * jk + qdx, (j - 1) * jg + qdy

Tap (i - 1) * jk + qdx, (j - 1) * jg + qdy

Tap (ii - 1) * jk + qdx, (暂时列表ex(1) - 1) * jg + qdy

Tap (ii - 1) * jk + qdx, (暂时列表ex(1) - 1) * jg + qdy

无用格子 = 无用格子 & "|" & ii & "," & 暂时列表ex(1)

多步列表 = "s"

横向列表 = 多步列表

列表 = "s" //找到可消除的格子,所有保存的列表清空

Exit Function

ElseIf 格子(i, j) <> 格子(ii, 暂时列表ex(1)) Then

Exit For

End If

Next

End If

//=================================================================

//横向右

If 暂时列表ex(0) <> 9 Then

For ii = 暂时列表ex(0)+1 To 9

If 检测(ii, 暂时列表ex(1)) = 0 Then

多步列表 = 多步列表 & "|" & ii & "," & 暂时列表ex(1)

横向列表 = 多步列表

ElseIf 格子(i, j) = 格子(ii, 暂时列表ex(1)) Then

Tap (i - 1) * jk + qdx, (j - 1) * jg + qdy

Tap (i - 1) * jk + qdx, (j - 1) * jg + qdy

Tap (ii - 1) * jk + qdx, (暂时列表ex(1) - 1) * jg + qdy

Tap (ii - 1) * jk + qdx, (暂时列表ex(1) - 1) * jg + qdy

无用格子 = 无用格子 & "|" & ii & "," & 暂时列表ex(1)

多步列表 = "s"

横向列表 = 多步列表

列表 = "s" //找到可消除的格子,所有保存的列表清空

Exit Function

ElseIf 格子(i, j) <> 格子(ii, 暂时列表ex(1)) Then

Exit For

End If

Next

End If

//=================================================================

Next

End If

End Function

android连连看源代码,#经典连连看#源码分享相关推荐

  1. 实时获取股票数据的android app应用程序源码分享

    From:http://www.jb51.net/article/72449.htm 本文我们分享一个实时获取股票数据的android app应用程序源码分享,可以作为学习使用,本文贴出部分重要代码, ...

  2. Android快速开发框架-ZBLibrary 源码分享

    2019独角兽企业重金招聘Python工程师标准>>> 坐标标准库ZBLibrary,是一个MVP架构的Android快速开发框架,提供一套开发标准(View,Data,Event) ...

  3. android 蓝牙ble调试助手,Android蓝牙调试助手源码分享

    package com.example.android.BluetoothChat; /** * 描述:蓝牙服务核心类 */ import java.io.IOException; import ja ...

  4. Android项目源码分享

    ├─android web应用 │      jqmDemo_static.zip │      jqmMobileDemo-master.zip │      jqmMobileDemo1_1-ma ...

  5. Android 亲测源码分享

    Android 亲测源码分享 一.优质视频教程 1.老罗Android开发视频教程(更多经典教程制作进行中) http://www.apkbus.com/android-94796-1-1.html ...

  6. Android工具箱APP源码分享:“一个工具箱”

    Android工具箱APP源码分享:"一个工具箱" 功能一览 这是一个Android工具箱APP,主要功能列表: 天气查询 手电筒 编码/解码(BASE64.MD5.SHA1) 摩 ...

  7. 收藏了4年的Android 源码分享

    Android 超过2个G的源代码集合~~几乎涵盖了所有功能效果的实现,一应俱全~~应有尽有~~ 360云盘地址:Android 各类源码集合汇总 (提取码:f930) 另外,附上Github上及自己 ...

  8. 珍藏40个android应用源码分享

    1.高仿京东商城源码 http://www.apkbus.com/android-115203-1-1.html 2.抽屉demo http://www.apkbus.com/android-1152 ...

  9. 注册与验证码php源代码,PHP+javascript制作带提示的验证码源码分享

    经常看的别人网站上输完验证码,可以直接判断正确与否,感觉体验非常不错,赶紧给自己网站也加上,源码分享给大家 html代码: 简单验证码 验证码: 看不清 请输入验证码 JS代码: function c ...

最新文章

  1. 认清js中var a=b=1和var a=1,b=1的区别
  2. C语言逗号运算符和逗号表达式
  3. 如何将SAP Spartacus的默认home页面替换成login页面 - ProtectedRoutesService
  4. 大数据学习笔记37:Hive - 复杂数据类型
  5. html表单实现ajax登陆,node.js+jQuery实现用户登录注册AJAX交互
  6. php读取西门子plc_AB PLC和西门子PLC之间需要交换数据
  7. main函数结束后的调用
  8. 目前主要的网络试衣系统
  9. 概率图模型_马尔可夫随机场
  10. 银耳椰椰——冲刺计划
  11. 基于OpenSSL,实现C语言SM2的PKCS10的证书请求
  12. 十大推荐提交的安卓市场
  13. 读书笔记|| 类继承
  14. 编写一个程序,提示用户输入以兆位每秒(Mb/s)为单位的下载速度和以兆字节(MB)为单位的文件大小。程序中应计算文件的下载时间。
  15. 织梦插件织梦CMS百度收录查询及批量推送未收录插件
  16. proteus教程——cc4021串行输入
  17. 用计算机玩游戏教程,云电脑使用教程:PC电脑怎么用云电脑玩云游戏
  18. AudioSourse play loop Clip
  19. 今年我国面临的移动应用数据安全问题和解决方案
  20. 编写简单php表单,用PHP做一个简单的表单

热门文章

  1. Camera HAL3学习
  2. (unity)新手接入Facebook登录,分享以及google登录,Android,IOS,OC接入篇
  3. 电脑鸿蒙系统怎么连接无线网络,三星笔记本电脑怎么连接无线网wifi
  4. 为了热爱Jeez,请停止在软件中使用正则表达式
  5. Arty A7开发板 + PULPino开源处理器折腾笔记
  6. MQTT学习笔记--阿里云物联网连接(一)连接
  7. python勾股定理、0-30_求助python大神,显示Process finished with exit code 0.
  8. noip模拟赛 斐波那契
  9. Python爬虫练习-查询lol隐藏分
  10. i春秋 429-线上赛题(一)Writeup