【开源】绝对经典的扫雷源码(仿微软扫雷界面)--可以作弊呢!!!

叶帆
博客专家认证
业界专家认证
2004-09-16 06:02:06
'*************************************************************************
'**模 块 名:Form1
'**说 明:叶帆软件 版权所有2002 - 2004(C)
'**创 建 人:叶帆
'**日 期:2002年06月11日
'**修 改 人:
'**日 期:
'**描 述:扫雷原程序
'**版 本:V1.0
'*************************************************************************
Option Explicit
Private Sub Form_Load()

Dim i As Integer, j As Integer
For i = 1 To 24
For j = 1 To 30
If i = 24 And j = 30 Then GoTo exitfor
Load imgLei((i - 1) * 30 + j)
imgLei((i - 1) * 30 + j).Visible = True
Next j, i
exitfor:
'-------------------
If Dir(App.Path + "\yefan.ini") <> "" Then
Open App.Path + "\yefan.ini" For Input As #1
Input #1, jibie
Input #1, leiname(0)
Input #1, leiname(1)
Input #1, leiname(2)
Input #1, leitime(0)
Input #1, leitime(1)
Input #1, leitime(2)
Input #1, LeiRow
Input #1, LeiCol
Input #1, LeiNums
Close #1
Else
jibie = 1
leiname(0) = "佚名"
leiname(1) = "佚名"
leiname(2) = "佚名"
leitime(0) = "999"
leitime(1) = "999"
leitime(2) = "999"

End If

Select Case jibie
Case 1
Menu_B_Click
Case 2
Menu_I_Click
Case 3
Menu_E_Click
Case 4
Menu_C_Click
End Select
End Sub



Private Sub ShowLei(i As Integer, j As Integer)
Select Case lei(j, i)
Case 0:
imgLei((i - 1) * LeiCol + j - 1).Picture = ImageList2.ListImages(9).Picture
Case 9:
imgLei((i - 1) * LeiCol + j - 1).Picture = ImageList1.ListImages(2).Picture
Case Else
imgLei((i - 1) * LeiCol + j - 1).Picture = ImageList2.ListImages(lei(j, i)).Picture
End Select
lei1((i - 1) * LeiCol + j - 1) = 1
End Sub

Private Sub ShowShui(col As Integer, row As Integer)
Dim i As Integer, j As Integer
Dim BeginX As Integer, BeginY As Integer
Dim x As Integer, y As Integer

' 清零
For i = 0 To 31
For j = 0 To 25
JieDian(i, j) = 0
Next j, i
'查起始点
j = row
While j > 0 And lei(col, j) <> 0
j = j - 1
Wend
If j <> row Then y = j + 1

x = col
y = j

Shui x, y
'---------------

For i = 1 To LeiRow
For j = 1 To LeiCol
If JieDian(j, i) = 1 Then
If i - 1 > 0 Then ShowLei i - 1, j
If i - 1 > 0 And j - 1 > 0 Then ShowLei i - 1, j - 1
If j - 1 > 0 Then ShowLei i, j - 1
If i + 1 < LeiRow + 1 And j - 1 > 0 Then ShowLei i + 1, j - 1

If i + 1 < LeiRow + 1 Then ShowLei i + 1, j
If i + 1 < LeiRow + 1 And j + 1 < LeiCol + 1 Then ShowLei i + 1, j + 1
If j + 1 < LeiCol + 1 Then ShowLei i, j + 1
If i - 1 > 0 And j + 1 < LeiCol + 1 Then ShowLei i - 1, j + 1
End If

Next j

Next i


'---------------
End Sub

Private Sub Shui(x As Integer, y As Integer)
'算法一
JieDian(x, y) = 1

If y - 1 > 0 And JieDian(x, y - 1) = 0 And lei(x, y - 1) = 0 Then Shui x, y - 1
If y - 1 > 0 And x - 1 > 0 And JieDian(x - 1, y - 1) = 0 And lei(x - 1, y - 1) = 0 Then Shui x - 1, y - 1
If x - 1 > 0 And JieDian(x - 1, y) = 0 And lei(x - 1, y) = 0 Then Shui x - 1, y
If y + 1 < LeiRow + 1 And x - 1 > 0 And JieDian(x - 1, y + 1) = 0 And lei(x - 1, y + 1) = 0 Then Shui x - 1, y + 1

If y + 1 < LeiRow + 1 And JieDian(x, y + 1) = 0 And lei(x, y + 1) = 0 Then Shui x, y + 1
If y + 1 < LeiRow + 1 And x + 1 < LeiCol + 1 And JieDian(x + 1, y + 1) = 0 And lei(x + 1, y + 1) = 0 Then Shui x + 1, y + 1
If x + 1 < LeiCol + 1 And JieDian(x + 1, y) = 0 And lei(x + 1, y) = 0 Then Shui x + 1, y
If y - 1 > 0 And x + 1 < LeiCol + 1 And JieDian(x + 1, y - 1) = 0 And lei(x + 1, y - 1) = 0 Then Shui x + 1, y - 1

End Sub

-------
源码下载地址:
http://blog.csdn.net/yefanqiu
中的【叶帆程序】-扫雷源码
...全文
636 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
jam021 2004-09-20
  • 打赏
  • 举报
回复
支持下!顶!
叶帆 2004-09-20
  • 打赏
  • 举报
回复
【叶帆开源区】其它链接
XP界面窗体制作(可放缩、可缩小到托盘)
http://community.csdn.net/Expert/topic/3387/3387552.xml?temp=.416424
有意思的老人源码
http://community.csdn.net/Expert/topic/3376/3376547.xml?temp=.1939661
VB源码之友
http://community.csdn.net/Expert/topic/3365/3365079.xml?temp=7.926577E-02
定制公用对话框(如photoshop的文件打开对话框)
http://community.csdn.net/Expert/topic/3385/3385386.xml?temp=.2206842
绝对经典的扫雷源码(仿微软扫雷界面)--可以作弊呢!!!
http://community.csdn.net/Expert/topic/3380/3380429.xml?temp=.3048517
MSComm串口通信示例
http://community.csdn.net/Expert/topic/3387/3387736.xml?temp=.2366754
任意透明窗体--运用API实现特异窗体
http://community.csdn.net/Expert/topic/3389/3389796.xml?temp=.8869898
叶帆 2004-09-20
  • 打赏
  • 举报
回复
相关贴:http://community.csdn.net/Expert/topic/3365/3365079.xml?temp=.6819879
你说的情况很对,特别是对不规范的源码,很容易出现这种问题。
你查看这类程序时,可以先关掉自动添加选项功能。
不过我希望大家还是按规范定义变量。


程序可以这样做,不过如果自动修改,会造成更大的问题
如 先定义了 intAA 和intA

后来修改 intA的定义,不小心定义成了intAA,如果自动修改,肯定全乱了(全是intAA了,分不出最初的intAA和intA。
viena 2004-09-20
  • 打赏
  • 举报
回复
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
源码之友,有点问题哦,只在变量定义的时候按回车加类型前缀?
我有时候输入完没有按回车,有时候只是修改要添加一行,按了回车,就给自动改了,全搞乱了
能不能如果修改定义的话(加类型前缀),所有引用这个变量的地方全都改呢?
flc 2004-09-19
  • 打赏
  • 举报
回复
踩一下!支持!
guxizhw 2004-09-19
  • 打赏
  • 举报
回复
upup
pweixing 2004-09-18
  • 打赏
  • 举报
回复
呵呵,顶一下
叶帆 2004-09-18
  • 打赏
  • 举报
回复
这是早期的源码,格式,注释都不正规!

还是源码之友好,谁用谁知道--不好意思,是不是广告!-删!!!:)

不过它对我的源码正规化确实有很大作用,可以参见下面的源码
http://community.csdn.net/Expert/topic/3385/3385386.xml?temp=.6047785
gui_68 2004-09-16
  • 打赏
  • 举报
回复
怎么看不懂啊

多加点注释

我是初学者
viena 2004-09-16
  • 打赏
  • 举报
回复
楼主好久不见了,声两星就失踪了
helanshan 2004-09-16
  • 打赏
  • 举报
回复
支持!!
BlueBeer 2004-09-16
  • 打赏
  • 举报
回复
真不错,支持开源
jam021 2004-09-16
  • 打赏
  • 举报
回复
一楼,顶一下先

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧