写的比较烂
有兴趣的可以去改一下,做不到太好的算法
不过速度也算还可以
//定义常用变量
vx = File.ReadINI("\DouDou.ini","DD","XPOS") //读配置文件,参数含义:文件名,节名,段名
vy = File.ReadINI("\DouDou.ini","DD","YPOS")
//第一个豆豆位置的x y坐标,可以变化
//XPos = 160
//YPos = 321
//定义可以不找的点
XPos = CInt(vx)
YPos = CInt(vy)
DPrint XPos
sTopx="abcde"
sBottomx ="abcde"
sLeftx = "abcde"
sRightx = "abcde"
ClickTimer = 0
Dim point(22,14)
Dim data(22,14)
colorString = ""
dotString = ""
//调用初始化函数 取得矩阵数组
Call init()
m = 0
n = 0
//Call getData()
//DPrint dotString
Call slider()
If ClickTimer = 100
MsgBox "全部消除,恭喜上榜了。。。"
Else
MsgBox "能找到的就这些了。。无法全解"
EndIf
EndScript
//VBS自定义函数必须放在整个代码最后
VBSBegin
//开始消除了
Sub fPath(byval x,byval y)
Dim cTop,cBottom,cLeft,cRight
cTop = 0
cBottom = 0
cLeft =0
cRight = 0
Dim posColor
posColor = ""
// 上方查找
Dim i,j
Dim numbers
numbers = 0
For i = y-1 To 0 Step -1
If data(x,i) = "FFFFFF" Then
cTop = cTop + 1
Else
If numbers = 0 Then
posColor = posColor + CStr(x)+","+CStr(i)
Else
posColor = posColor + "|" +CStr(x)+","+CStr(i)
End If
numbers = numbers + 1
Exit For
End If
Next
// 下方查找
Dim aaa
aaa = y + 1
For aaa=y+1 To 14 Step 1
//MsgBox CStr(ii)
If data(x,aaa) = "FFFFFF" Then
cBottom = cBottom + 1
Else
If numbers = 0 Then
posColor = posColor + CStr(x)+","+CStr(aaa)
Else
posColor = posColor +"|" +CStr(x)+","+CStr(aaa)
End If
numbers = numbers + 1
Exit For
End If
Next
// 左方查找
Dim iii
For iii = x-1 To 0 Step -1
If data(iii,y) = "FFFFFF" Then
cBottom = cBottom + 1
Else
If numbers=0 Then
posColor = posColor +CStr(iii)+","+CStr(y)
Else
posColor = posColor + "|" +CStr(iii)+","+CStr(y)
End If
numbers = numbers + 1
Exit For
End If
Next
// 右方查找
Dim iiii
For iiii = x+1 To 22
If data(iiii,y) = "FFFFFF" Then
cBottom = cBottom + 1
Else
If numbers=0 Then
posColor = posColor + CStr(iiii)+","+CStr(y)
Else
posColor = posColor + "|" +CStr(iiii)+","+CStr(y)
End If
numbers = numbers + 1
Exit For
End If
Next
// If cTop = y Then End If
//color
If not(posColor = "") Then
Dim apearNum
apearNum = ""
//MsgBox posColor
// 判断每个坐标点的颜色值出现的次数
splitColor = Split(posColor,"|")
For i = 0 to UBound(splitColor)
displayCount = 0
For j = 0 to UBound(splitColor)
ixypos = Split(splitColor(i),",")
jxypos = Split(splitColor(j),",")
If data(ixypos(0),ixypos(1)) = data(jxypos(0),jxypos(1)) Then
displayCount = displayCount + 1
Else
End If
Next
If i =0 Then
apearNum = apearNum + CStr(displayCount)
Else
apearNum = apearNum + "|" + CStr(displayCount)
End If
Next
//MsgBox apearNum
ONum = Split(apearNum,"|")
bBoolean = 0
fourSame = 0
For i = 0 to UBound(ONum)
If oNum(i) = 2 Then
bBoolean = bBoolean + 1
ElseIf oNum(i) = 4 Then
fourSame = fourSame + 1
End If
Next
If bBoolean = 4 Or fourSame = 4 Then
//For i = 0 to UBound(splitColor)
// abcpos = Split(splitColor(i),",")
// data(abcpos(0),abcpos(1)) = "FFFFFF"
//Next
//Call clickHere(x,y)
//MsgBox "可以点击"
ElseIf bBoolean = 2 Then
For i = 0 to UBound(ONum)
If oNum(i) = 2 Then
abcpos = Split(splitColor(i),",")
data(abcpos(0),abcpos(1)) = "FFFFFF"
End If
Next
Call clickHere(x,y)
End If
End If
End Sub
// 点击
Sub clickHere(byval x,byval y)
MoveTo XPos + 25*x,YPos + 25*y
Delay 100
LeftClick 1
Delay 150
ClickTimer = ClickTimer + 1
Call slider()
End Sub
Sub slider()
Dim i , j
For j = 0 To 14
For i = 0 To 22
// 获取指定点的颜色值
If data(i,j) = "FFFFFF" Then Call fPath(i,j) End If
Next
outstring = outstring + Chr(10)
Next
End Sub
//获取颜色点阵
Sub msgAll()
Dim i , j
Dim outstring
outstring = "点阵为:" + Chr(10)
For j = 0 To 14
For i = 0 To 22
// 获取指定点的颜色值
outstring = outstring+" " + point(i,j)
Next
outstring = outstring + Chr(10)
Next
colorString = outstring
End Sub
//获取1,0点阵
Sub getData()
Dim i , j
Dim outstring
outstring = "点阵为:" + Chr(10)
For j = 0 To 14
For i = 0 To 22
// 获取指定点的颜色值
outstring = outstring + " " + CStr(data(i,j) )
Next
outstring = outstring + Chr(10)
Next
dotString = outstring
End Sub
//初始化数组
Sub init()
Dim i , j
For j = 0 To 14
For i = 0 To 22
// 获取指定点的颜色值
currentColor = GetPixel(XPos + 25*i,YPos + 25*j)
point(i,j) =currentColor
If currentColor = "EDEDED" or currentColor="FFFFFF" Then data(i,j) = "FFFFFF" Else data(i,j) = currentColor End If
// End If
Next
Next
End Sub
VBSEnd
附近上传有点慢,直接贴源码得了
使用的是按键精灵
感觉各种写法思路都差不多
我的思路有点低级
大神们别喷
分享到:
相关推荐
游戏源码分享下载 --- games.zipHTML5小游戏【吃豆豆游戏】游戏源码分享下载 --- games.zipHTML5小游戏【吃豆豆游戏】游戏源码分享下载 --- games.zipHTML5小游戏【吃豆豆游戏】游戏源码分享下载 --- games.zipHTML5...
"百度贴吧打豆豆单机版(wpf c#源码及注释)" 这个标题揭示了我们正在讨论一个基于C#编程语言,并使用Windows Presentation Foundation (WPF) 框架开发的单机游戏项目。这个项目是模仿百度贴吧中的“打豆豆”游戏,...
《打豆豆游戏详解及AS3源码解析》 打豆豆是一款深受玩家喜爱的休闲游戏,其简单易上手的操作和趣味性十足的游戏机制使其成为各年龄段玩家的理想选择。本篇文章将深入探讨打豆豆游戏的核心原理,并结合提供的AS3...
打豆豆游戏源码简介: 源码实现了一款支持平板的打豆豆游戏,游戏的玩法是判断这个点是否是空白,如果是空白才能继续游戏,只用保存坐标点的一个值即可,保存坐标要对应的图片的值等,是一个很不错的安卓开发学习...
【基于iOS的打豆豆游戏源码】是一个适合iOS开发者,尤其是初学者研究的项目,它采用Objective-C语言编写,提供了完整的打豆豆游戏实现。这款游戏具有丰富的动画效果,为玩家带来良好的视觉体验,同时其代码结构清晰...
【Android游戏开发:打豆豆源码解析】 在Android平台上,开发一款简单的打豆豆游戏是一种常见的学习实践,它涉及到的基础技术广泛,包括图形绘制、触摸事件处理、游戏逻辑设计等。这款"打豆豆"游戏的源码提供了一个...
《H5微信小游戏源码-吃豆豆游戏源码.zip》是一个包含开发微信小游戏“吃豆豆”的完整源代码资源。这个压缩包主要是为开发者提供了一款基于HTML5技术的游戏开发示例,可以帮助他们理解微信小游戏的开发流程,学习相关...
【web版打豆豆游戏源码】是一款基于HTML5、JavaScript技术开发的在线游戏,它在设计时考虑了对主流浏览器的兼容性,包括IE8及以上版本,以及Chrome、Firefox和Safari。这款游戏并未针对手机端进行专门的优化,因此在...
吃豆豆游戏,又称为Pac-Man,是一款经典的街机游戏,自1980年发布以来,就深受全球玩家喜爱。源码是游戏开发的核心部分,它包含了编写游戏的各种编程语言代码,如C++、Java或Unity脚本等。通过分析和学习吃豆豆游戏...
《打豆豆——程序设计大作业》是一款基于两千行代码实现的简单但有趣的小游戏,旨在展示编程技术在游戏开发中的应用。这个项目涵盖了多个编程和游戏设计的基础知识点,包括但不限于以下几个方面: 1. **基本编程...
python小游戏【吃豆豆小游戏】-pygame经典案例源码正常运行
首先,游戏源码中的“打豆豆”实现了一个基本的游戏循环,这是所有游戏程序的基础。游戏循环通常包括初始化、更新游戏状态、渲染屏幕和处理用户输入等步骤。在VC6.0中,我们需要配置项目设置,确保编译器能够正确...
html5微信小游戏源码 吃豆豆游戏源码(仅用于参考)html5微信小游戏源码 吃豆豆游戏源码(仅用于参考)html5微信小游戏源码 吃豆豆游戏源码(仅用于参考)html5微信小游戏源码 吃豆豆游戏源码(仅用于参考)html5...
游戏循环是游戏运行的核心,它不断地更新游戏状态并绘制到屏幕上。玩家输入处理则是接收用户的操作,如点击或滑动,然后根据这些输入执行相应的游戏动作。游戏逻辑包括豆豆的移动、碰撞检测以及分数计算等。渲染则...
《C#版打豆豆游戏源代码解析》 打豆豆是一款广受欢迎的休闲小游戏,其简单的操作和趣味性使其成为许多人的娱乐选择。本文将深入探讨基于C#编程语言实现的打豆豆游戏源代码,帮助读者理解游戏背后的逻辑和编程技术。...
在Android开发领域,入门学习是非常重要的一步,"打豆豆小游戏"是一个常见的实践项目,它可以帮助初学者理解Android应用的基本架构、UI设计以及事件处理等核心概念。下面将详细讲解这个主题中的关键知识点。 首先,...
微信小游戏源码 吃豆豆游戏源码(仅用于学习参考)微信小游戏源码 吃豆豆游戏源码(仅用于学习参考)微信小游戏源码 吃豆豆游戏源码(仅用于学习参考)微信小游戏源码 吃豆豆游戏源码(仅用于学习参考)微信小游戏...
源码中的JavaScript文件可能包括游戏对象(如玩家、豆豆、幽灵)的定义、碰撞检测、游戏状态管理(如开始、暂停、结束)、计分系统等功能。 3. ES6特性:现代JavaScript(ES6及以上版本)引入了许多新特性,如箭头...
6. **游戏循环**:游戏的核心是一个主循环,它不断地更新游戏状态,检查碰撞,渲染屏幕,并处理用户输入。这个循环通常在一个单独的线程中运行,以确保游戏的流畅性。 7. **碰撞检测**:为了确定子弹是否击中了豆豆...