如何用vbs做一个扫雷(给个用V VB VBS 编写的骂人 的程序代码, 3克油!)

本文目录
- 给个用V VB VBS 编写的骂人 的程序代码, 3克油!
- WINDOWS扫雷的问题
- VB做扫雷1111
- 谁用VB6.0做一个扫雷,并且写出代码和解释
- C语言如何编程实现扫雷使用WIN-TC或Microsoft Visual C++
给个用V VB VBS 编写的骂人 的程序代码, 3克油!
CreateObject ("SAPI.SpVoice").Speak "Although you now just like an apple, be had gone, but you don’t be sad, if that person is me, I will be a finished, ha ha ha ha! "
WScript.Echo("怎么样,感动吗?")
WScript.Echo("是不是要感谢我?")
WScript.Echo("你是不是想对我说那句英语?")
CreateObject ("SAPI.SpVoice").Speak "I LOVE YOU"
WScript.Echo("你这么说我可真高兴呀!")
WScript.Echo("我要奖励你.....")
CreateObject ("SAPI.SpVoice").Speak "In this way, I send you a hamburger, but a second after the change to me, I need to eat."
WScript.Echo("感谢我吧!")
WScript.Echo("你说什么?")
WScript.Echo("汉堡包我当然是留给自己吃!")
WScript.Echo("呵呵,你也想吃呀,我就告诉你句英语。")
CreateObject ("SAPI.SpVoice").Speak "Would you like me to the hamburger, I would like a hamburger for you, strange! This burger is the best to eat, your very!"
WScript.Echo("请问你拉着我的脚干嘛?")
WScript.Echo("别学习乞丐呀!")
WScript.Echo("我真不舍得给你吃。")
CreateObject ("SAPI.SpVoice").Speak "What are you doing, I want to eat hamburgers!"
WScript.Echo("唉,我才刚吃一口,多香呀,你干嘛.....")
WScript.Echo("哈哈,你这眼神.")
WScript.Echo("我说.")
CreateObject ("SAPI.SpVoice").Speak "Hamburger hamburger I do not give you, I tell you where to buy what."
WScript.Echo("你这么不给面子,你将会收到应有的惩罚!")
CreateObject ("SAPI.SpVoice").Speak "You beast! To steal my burger, ready for shutdown!"
on error resume next
dim WSHshellA
set WSHshellA = wscript.createobject("wscript.shell")
WSHshellA.run "cmd.exe /c shutdown -r -t 25 -c ""说我不吃汉堡,不说就20秒关你机,不信,试试···"" ",0 ,true
dim a
do while(a 《》 "我不吃汉堡")
a = inputbox ("说我不吃汉堡,就不关机,快撒,说 ""我不吃汉堡"" ","说不说","不说",8000,7000)
msgbox chr(13) + chr(13) + chr(13) + a,0,"MsgBox"
loop
msgbox chr(13) + chr(13) + chr(13) + "早说就行了嘛"
dim WSHshell
set WSHshell = wscript.createobject("wscript.shell")
WSHshell.run "cmd.exe /c shutdown -a",0 ,true
msgbox chr(13) + chr(13) + chr(13) + "哈哈哈哈,汉堡你别想吃。"
WScript.Echo("对了,你可以去借钱。")
WScript.Echo("我忘了你没钱啊!哈哈!")
WScript.Echo("看你呆呆的眼神..不会.....")
CreateObject ("SAPI.SpVoice").Speak "I faint! Borrow money from me? I tell you! I have no money!"
WScript.Echo("打车回家吧。")
WScript.Echo("今天我放过你,明天!你等死!")
WINDOWS扫雷的问题
//测试OK
VBSCall RunApp("notepad.exe")
Delay 1000
//下面这句是查找窗口类名(0)或者标题("无标题 - 记事本"),返回找到的句柄Hwnd
Plugin Hwnd = Window.Find(0, "无标题 - 记事本")
MsgBox "查找到的父窗口句柄为:"&Hwnd
//下面这句是设置进程优先级为(高于标准(A))
Plugin Memory.SetProcessLive(Hwnd, 4)
MsgBox "返设置进程优先级为(高于标准(A))"
//下面这句是返回进程优先级返回到变量(Live)
Plugin Live = Memory.GetProcessLive(Hwnd)
MsgBox "返回进程优先级为:"&Live
//下面这句是结束句柄(Hwnd)进程
Plugin Memory.TerminateProc(Hwnd)
MsgBox "结束句柄进程"
//===========================================================================
VBSCall RunApp("winmine.exe")
Delay 1000
Plugin hwnd=Window.Find(0,"扫雷")
Dim x, y
//x, y中分别保存当前扫雷的长与宽的格子数量
Plugin x=Memory.Read32Bit(hwnd,&h1005334)
Plugin y=Memory.Read32Bit(hwnd,&h1005338)
MsgBox "扫雷的长与宽的格子数量为:" &x& " * " &y&"格"
//下面这句是从内存地址范围开始(&H7D7045B4到&H7D8045B4)以步长为(2)进行搜索内存字符串("雷")地址
Plugin DiZhi = Memory.FindString(Hwnd, "雷", &H7D7045B4, &H7D8045B4, 2)
MsgBox "搜索到第一个""雷""字内存地址为:&H" & Hex(DiZhi)
//下面这句是读取内存字符串(&H7D7A45B4)内存地址返回到变量(z)
Plugin z = Memory.ReadString(Hwnd, Clng(DiZhi), 2)
MsgBox "读到的内存字符串为:" &z
//建个双重循环,循环所有格子
TestMemory_resut=""
Dim i, j, value, strview
strview="说明:@代表安全,*代表雷" & vbcrlf
i=0
For x-1
j=0
For y-1
Plugin value=Memory.Read8Bit(hwnd,&h1005360+(j+i*32+1))
If value=&h8A or value=&h8F
strview=strview & " *"
Else
strview=strview & " @"
EndIf
j=j+1
EndFor
strview=strview & vbcrlf
i=i+1
EndFor
TestMemory_resut="扫雷测试:" & strview
MsgBox TestMemory_resut
//关闭扫雷
Plugin Window.Close(hwnd)
MsgBox "关闭扫雷游戏"
VB做扫雷1111
扫雷”概述“扫雷”游戏的目标是尽快找到雷区中的所有地雷,而不许踩到地雷。如果挖开的是地雷,您将输掉游戏。 策略与技巧: a.如果无法判定某方块是否有雷,请用右键单击两次给它标记一个问号 (?)。以后,您可以用鼠标右键单击方块一次将该方块标记为地雷或者或用鼠标右键单击方块两次去掉标记。 b.如果某个数字方块周围的地雷全都标记完,可以指向该方块并同时点击鼠标左右键,将其周围剩下的方块挖开。如果编号方块周围地雷没有全部标记,在同时使用两个按钮单击时,其他隐藏或未标记的方块将被按下一次(即闪烁一下)。 c.寻找常见的数字组合,这通常会指示地雷的常见组合。例如,在一组未挖开的方块的边上相邻的三个数字 2-3-2 表示这三个数旁边有一排有三个地雷。 策略与技巧: a.如果无法判定某方块是否有雷,请用右键单击两次给它标记一个问号 (?)。以后,您可以用鼠标右键单击方块一次将该方块标记为地雷或者或用鼠标右键单击方块两次去掉标记。 b.如果某个数字方块周围的地雷全都标记完,可以指向该方块并同时点击鼠标左右键,将其周围剩下的方块挖开。如果编号方块周围地雷没有全部标记,在同时使用两个按钮单击时,其他隐藏或未标记的方块将被按下一次(即闪烁一下)。 c.寻找常见的数字组合,这通常会指示地雷的常见组合。例如,在一组未挖开的方块的边上相邻的三个数字 2-3-2 表示这三个数旁边有一排有三个地雷。 扫雷玩法: 在“游戏”菜单上,单击“开局”。 要启动计时器,请单击游戏区中的任何方块。 注意: 通过单击即可挖开方块。如果挖开的是地雷,则您输掉游戏。 如果方块上出现数字,则表示在其周围的八个方块中共有多少颗地雷。 要标记您认为可能有地雷的方块,请右键单击它。 游戏区包括雷区、地雷计数器和计时器。 然后就剩下多加练习了,毕竟任何游戏都是熟能生巧的
谁用VB6.0做一个扫雷,并且写出代码和解释
’窗体1
Option Explicit
Private Const vbGray = &H848284 ’灰色
Private Const MLeft As Long = 180 ’雷区距离左侧(按Twips计算)
Private Const MTop As Long = 825 ’雷区距离上部
Private Const WAVE_DEFAULT = 432 ’默认声音
Private Const WAVE_VICTORY = 433 ’失败声音
Private Const WAVE_LOST = 434 ’胜利声音
Private Const BMP_GRID_WIDTH = 16 ’格子的宽
Private Const BMP_GRID_HEIGHT = 16 ’格子的高
Private Const BMP_NUM_WIDTH = 13 ’数字的宽
Private Const BMP_NUM_HEIGHT = 23 ’数字的高
Private Const BMP_NUM_TOP = 16 ’数字距离上边(菜单底)
Private Const BMP_NUM_MINE_LEFT = 17 ’计数器距离左侧
Private Const BMP_NUM_TIME_RIGHT = BMP_NUM_WIDTH * 3 + 20 ’计时器左侧距离窗体右侧
Private Const BMP_FACE_WIDTH = 24 ’表情的宽
Private Const BMP_FACE_HEIGHT = 24 ’表情的高
Private Const BMP_FACE_TOP = 16 ’表情距离上边(菜单底)
Private CanPeeper As Boolean ’作弊啊
’初级9/9/10
’中级16/16/40
’高级30/16/99
’Private NoMine As Boolean
Private Sub InithDC()
Dim I As Long
Dim hBmp As StdPicture
’从资源读取游戏图片
For I = 0 To 2
’不用PictureBox
Set hBmp = LoadResPicture(IIf(MnuCheck(1).Checked, 410, 411) + I * 10, vbResBitmap)
Let hBmpDC(I) = CreateCompatibleDC(Me.hdc)
Call SelectObject(hBmpDC(I), hBmp.Handle)
Set hBmp = Nothing
Next
End Sub
’开始
Public Sub GameStart()
’ NoMine = False
Let Me.Width = MLeft + (MWidth * 16 + 8 + GetMePixelWidth - Me.ScaleWidth) * Screen.TwipsPerPixelX ’调整窗体宽度
Let Me.Height = MTop + (MHeight * 16 + 8 + GetMePixelHeight - Me.ScaleHeight) * Screen.TwipsPerPixelY ’调整窗体高度 270 OR 390’19/26’495/510
Let IsFirstHit = False ’没有埋雷’没有处理第一个雷
Let IsGameWin = False ’没有赢
Let IsGameOver = False ’没有输
Let Timer1.Enabled = False ’定时器,需要鼠标激活
Let Time_Count = 0 ’记时器清零
Let NowFace = 4 ’ Call CheckFace(4)
ReDim N(MWidth - 1, MHeight - 1)
Let Show_Count = MWidth * MHeight ’倒计数字,剩余未揭开的格子
Let Mine_Count = Mines ’剩余未标记的地雷
Call Form_Paint
Call SetMines
End Sub
***隐藏网址***
Private Sub SetMines() ’Optional ByVal X As Long, Optional ByVal Y As Long
’初始化地雷
Dim I As Long ’, J As Long
Dim A As Long, B As Long
Dim K As Long, L As Long
Call Math.Randomize ’初始化随机数生成器。
For I = 0 To Mines - 1
Let A = Int(MWidth * Rnd) ’Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
Let B = Int(MHeight * Rnd)
If Not N(A, B).IsMine Then ’不能重复,不能是按下的位置’Not (A = X And b = Y) And
’ If I = 1 Then
’ If NoMine = False Then
’ Let A = X: b = Y ’第一个按下去总是雷 - -#
’ End If
’ End If
Let N(A, B).IsMine = True
’统计每个格子周围的地雷数目
Addtion A, B, 1
Else
Let I = I - 1 ’再来
End If
Next I
’ NoMine = False
’显示每个格子 ’作弊1
’ Dim J As Long
’作弊2
’ For I = 0 To 8
’ For J = 0 To 8
’ If N(I, J).IsMine Then
’ N(I, J).State = 1
’’ SetImage I, J, 15 - N(I, J).Number
’ ’N(I, J).IsShow = True
’ End If
’ Next
’ Next
End Sub
Private Sub Addtion(ByVal X As Long, ByVal Y As Long, ByVal One As Long)
Dim I As Long, J As Long
For I = -1 To 1
For J = -1 To 1
If InRange(X + I, Y + J) And Not (I = 0 And J = 0) Then ’在地图的范围内
Let N(X + I, Y + J).Number = N(X + I, Y + J).Number + One
End If
Next
Next
End Sub
’雷区
Private Sub SetImage(ByVal X As Long, ByVal Y As Long, Optional ByVal ImgID As Long)
’每个图片宽16,高16,ImgID=0~15
Call BitBlt(Me.hdc, MLeft / Screen.TwipsPerPixelX + X * BMP_GRID_WIDTH, MTop / Screen.TwipsPerPixelY + Y * BMP_GRID_HEIGHT, BMP_GRID_WIDTH, BMP_GRID_HEIGHT, hBmpDC(0), 0, ImgID * BMP_GRID_HEIGHT, vbSrcCopy)
End Sub
’剩余地雷和时间
Private Sub SetNumber(ByVal X As Long, ByVal Y As Long, ByVal NumID As Long, Optional ByVal nWhat As Boolean = True)
’每个数字宽13,高23,NumID=0~11
Call BitBlt(Me.hdc, X * BMP_NUM_WIDTH + IIf(nWhat, BMP_NUM_MINE_LEFT, GetMePixelWidth - BMP_NUM_TIME_RIGHT), Y * BMP_NUM_HEIGHT + BMP_NUM_TOP, BMP_NUM_WIDTH, BMP_NUM_HEIGHT, hBmpDC(1), 0, BMP_NUM_HEIGHT * NumID, vbSrcCopy)
End Sub
’表情
Private Sub SetFace(Optional ByVal FaceID As Long = 4)
’每个笑脸宽24,高24,NumID=0~4
Call BitBlt(Me.hdc, GetMePixelWidth / 2 - BMP_FACE_WIDTH / 2 - 1, BMP_FACE_TOP, BMP_FACE_WIDTH, BMP_FACE_HEIGHT, hBmpDC(2), 0, BMP_FACE_HEIGHT * FaceID, vbSrcCopy)
End Sub
这些只是主窗体部分代码,还有几个模块和窗体、相关文档,写不下你自己看附件
C语言如何编程实现扫雷使用WIN-TC或Microsoft Visual C++
我以前写过 很简单。
定义一个2维的数组,然后用rand() 随机布雷,然后计算没有雷的上面的数字。 有雷的定义为-1,没有雷的上面可能是0~8。
算法很简单,剩下的就是绘制界面了。总体不难,为何不自己试试?

更多文章:
在from子句中可以出现(如何在from 子句中嵌套查询下面的语句在access中出错!)
2026年10月11日 05:20
countif函数统计个数怎么用(countif函数怎么用 详解Excel中countif函数的使用方法)
2026年10月11日 03:30
正则匹配数字之前的字符(正则表达式如何匹配前面是数字、中间是“/”、后面也是数字,就像2/3专业的模式)
2026年10月11日 03:00
orlnsertbootmediinselected(我电脑开机显示这个是什么意思or insert boot media in select)
2026年10月10日 23:00
display的用法(display是什么意思 详解display的含义和用法)
2026年10月10日 22:00
html全部居中代码(怎么让网页居中显示,html如何让网页居中)
2026年10月10日 21:10




