中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-15 21:34
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 批处理扫雷游戏 查看 6,180 回复 25
16 发表于 2009-06-09 17:21 ·  中国 湖北 武汉 电信
初级用户
★★
积分 161
发帖 114
注册 2009-02-20 13:00
UID 139375
性别 男
状态 离线
好强大。。要是鼠标的就好了。
17 发表于 2009-06-09 21:04 ·  中国 山西 电信
银牌会员
★★★
天的白色影子
积分 2,343
发帖 636
注册 2004-03-06 00:00
UID 19350
性别 男
状态 离线
鼠标的也不是不可能
不过那就失去了命令行的趣味了

模仿只是起步
总是要有自己的创新
才能真正有自己存在的价值
18 发表于 2009-06-09 23:21 ·  中国 广西 玉林 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
UID 44210
状态 离线
五子棋用鼠标还好,扫雷就免了,毕竟正常安装的系统自带有扫雷游戏
19 发表于 2009-06-10 04:40 ·  中国 广东 深圳 电信
新手上路
积分 8
发帖 6
注册 2009-06-08 07:05
UID 146938
性别 男
来自 深圳市
状态 离线
学习研究
20 发表于 2009-06-11 04:44 ·  中国 广东 湛江 廉江市 电信
高级用户
★★★
积分 959
发帖 311
注册 2006-04-11 14:08
UID 53665
性别 男
来自 广东-LianJiang
状态 离线
有意思,不错~~~~
κχυμγνξοθπρωψιαδλεηφβτζσ┬╀┾┳┞┯┰┱┣┲┳╂╁│├┟┭┠这是什么??这就是我的人生
21 发表于 2009-06-11 09:54 ·  中国 云南 昆明 电信
初级用户
积分 36
发帖 25
注册 2009-06-01 08:44
UID 146434
性别 男
状态 离线
批处理扫雷!这么强。。。
22 发表于 2009-06-28 00:22 ·  中国 广东 深圳 电信
新手上路
积分 6
发帖 4
注册 2009-06-26 00:54
UID 148149
性别 男
状态 离线
高手啊,LZ真是高手。收藏了
23 发表于 2009-07-01 09:27 ·  中国 北京 联通
高级用户
★★★
据说是李先生
积分 609
发帖 400
注册 2008-04-23 15:55
UID 116706
性别 男
状态 离线
头好晕啊啊啊啊啊
24 发表于 2009-07-01 14:45 ·  中国 广东 江门 电信
新手上路
积分 4
发帖 4
注册 2008-03-11 02:55
UID 112597
性别 男
状态 离线
佩服,学习一下
25 发表于 2021-11-05 21:41 ·  中国 浙江 杭州 电信
新手上路
积分 5
发帖 4
注册 2021-10-30 11:47
UID 184539
性别 男
状态 离线
当然可以支持鼠标,只要操作系统版本高于Windows Vista的x64版本都可以运行
@echo off
Mode Con: Cols=80 Lines=25
call :Mouse_Installs
title 批处理扫地雷 之 越战清道夫 Made by netbenton from http://bbs.bathome.cn
set `=!
::注意哦,这个变量很关键,

set #for1=for /f "tokens=1-6" %%c in ("!u! !m! !d! !l! !n! !r!") do (
set #for2=for %%k in (%%c.%%f %%c.%%g %%c.%%h %%d.%%f %%d.%%h %%e.%%f %%e.%%g %%e.%%h!) do (
::这个定义是为了缩减代码和提速

setlocal enabledelayedexpansion
set "ec-1= ABCDEFGHIJKLMNOP "
for /l %%a in (0,1,17) do (set M%%a=!ec-1:~%%a,1!)
set ec18= !ec-1! 后面还有其它字符表示或
set ec-1= !ec-1!
set ec0=■■■■■■■■■■■■■■■■■■ 还有!`!dilei!`!个雷,!`!tudi!`!亩地
set ec17=■■■■■■■■■■■■■■■■■■ !`!over!`!!`!say!`!
set str= abcdefghijklmnop
for /l %%a in (1,1,16) do set com!str:~%%a,1!=%%a
set ∷=今天运气不错哦...
set ①=生死由命,就放心踩吧
set ②=这里都不敢动,劝你回家种田吧!
set ③=团长,要看清想好呀。
set ④=这里要动的话,就只有半条命了!
set ⑤=探到不少雷呀,最好不要赌了
set ⑥=小心呀!团长,想好呀
set ⑦=危险啊!最好别动了!
set ⑧=这里全是雷呀!别动!!!
set n=0
for %%a in (① ② ③ ④ ⑤ ⑥ ⑦ ⑧) do (set/a n+=1&set s#=!s#!★&set !s#!=%%a&set n%%a=!n!)
set over=
set bj=@
set bj1=-1
set bj@1=1

set say=一个艰巨的任务开始了...
for /l %%a in (0,1,17) do (set r0.%%a=#&set r17.%%a=#&set r%%a.0=#&set r%%a.17=#)

:begin 重新开始
color f0
setlocal enabledelayedexpansion
for /l %%a in (1,1,40) do (
set/a ran=!random!%%16+1
set true=
for /l %%b in (1,1,16) do (
set/a ram=!random!%%16+1
if not defined true (
if not defined L!ran!.!ram! set L!ran!.!ram!=★&set true=y&set/a dilei+=1
)
)
)
set/a tudi=16*16-dilei
for /l %%a in (1,1,16) do (
set/a u=%%a-1,d=%%a+1
for /l %%b in (1,1,16) do (
if not defined L%%a.%%b (
set/a l=%%b-1,r=%%b+1
for /f "tokens=1-6" %%c in ("!u! %%a !d! !l! %%b !r!") do (
for %%z in ("!L%%c.%%f!!L%%c.%%g!!L%%c.%%h!!L%%d.%%f!!L%%d.%%h!!L%%e.%%f!!L%%e.%%g!!L%%e.%%h!") do (set r%%a.%%b=!%%~z!)
)
)
)
)
for /l %%a in (1,1,16) do (
for /l %%b in (1,1,16) do (
if not defined r%%a.%%b set "r%%a.%%b=∷"
if not defined L%%a.%%b set L%%a.%%b=!r%%a.%%b!
set r%%a.%%b=
)
)
set benton=set "str=!`!str!`!□"

:loop 主循环
for /l %%a in (1,1,16) do (
set str=
for /l %%b in (1,1,16) do (
if defined r%%a.%%b (
if !r%%a.%%b! equ @ (set "str=!str!▼") else (set "str=!str!!`!L%%a.%%b!`!")
) else (
%benton%
)
)
set ec%%a=■!str!■
)
set benton=set "str=!`!str!`!□"

:error 出错循环
cls
for /l %%a in (-2,1,18) do (for %%b in ("!ec%%a!") do echo; !M%%a!%%~b!M%%a!)
if defined over echo 游戏结束,请按回车键继续...&color 4e&pause>nul&endlocal&goto :begin
if !tudi! leq 0 echo 恭喜你过关了,请按回车键继续..&color 4e&pause>nul&endlocal&goto :begin
mouse > ReturnKey.ini
set /p Mouse=0<ReturnKey.ini
set "Mouse=%Mouse: =/%"
echo.%Mouse% > ReturnKey.ini
rem Nr是行,Nl是列
set Click=%Mouse:~0,1%
for /f "delims=/ tokens=2" %%i in (ReturnKey.ini) do set Nr=%%i
for /f "delims=/ tokens=3" %%i in (ReturnKey.ini) do set Nl=%%i
set /a Nr-=2
set /a Nl-=10
set /a Nl_2=2-%Nl%%%2
set /a Nl+=%Nl_2%
set /a Nl/=2
set /a Nr-=1
set /a Nl-=1
set Coordinate=ABCDEFGHIJKLMNOP
set in=!Coordinate:~%Nr%,1!
set in=%in%!Coordinate:~%Nl%,1!
if %Click% neq 1 set in=%in% else set in=%in%#
set/a ver=0,m=com!in:~0,1!,n=com!in:~1,1!,ver=m*n
if !ver! equ 0 goto :error
set back=:loop

:zhilp 主动或自动打开地,均使用这个子过程, 与:zhisub子过程和:auto子过程有联合循环动作,即有重入。
if "!in:~2,1!" neq "" (
if "!r%m%.%n%:@=!" neq "!r%m%.%n%!" (
for %%a in (bj!r%m%.%n%!) do (
set r%m%.%n%=!%%a!
set/a dilei+=%%a1
)
goto %back%
) else (
goto :error
)
)
if defined r%m%.%n% if "!r%m%.%n%!" equ "#" (goto :zhisub) else (goto :error)
set r%m%.%n%=#
set/a tudi-=1
if "!L%m%.%n%!" equ "★" set over= 光荣牺牲了...
if "!L%m%.%n%!" equ "∷" call :auto
set say=!L%m%.%n%!
set say=!%say%!
goto %back% 依靠变量来控制程序走向

:zhisub 选择点为已经打开的数字时,自动插旗或打开地 的 子过程
set back=:eof
set in=
set/a u=m-1,d=m+1,l=n-1,r=n+1,zh=n!l%m%.%n%!,zh@=0,zhi=0,zh#=0
%#for1%
%#for2%
if defined r%%k (set/a zh!r%%k!+=1) else (set/a zhi+=1)
)
)
set/a zh#=zh@+zhi
if !zh! equ !zh@! set in=12
if !zh! equ !zh#! set in=123
if not defined in goto :error
%#for1%
%#for2%
for /f "tokens=1,2 delims=." %%1 in ("%%k") do (set/a m=%%1,n=%%2)
if not defined r%%k call :zhilp 循环调用减少代码,增强自动化
)
)
goto :loop

:auto 打开的为空地时自动打开地 的 子过程
set/a u=m-1,d=m+1,l=n-1,r=n+1
%#for1%
%#for2%
if not defined r%%k (
set r%%k=#
set/a tudi-=1
if "!L%%k!" equ "∷" (
for /f "tokens=1,2 delims=." %%1 in ("%%k") do (set/a m=%%1,n=%%2)
call :auto 循环调用减少代码,增强自动化
)
)
)
)
goto :eof

:Mouse_Installs
(
Echo(-----BEGIN CERTIfICATE-----
Echo(TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Echo(AAAAAAAAAAAAAAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5v
Echo(dCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAABQRQAATAECAAAAAAAAAAAA
Echo(AAAAAOAADwMLAQYAAAAAAAAAAAAAAAAAQBEAAAAQAAAAIAAAAABAAAAQAAAAAgAA
Echo(BAAAAAAAAAAEAAAAAAAAAFAhAAAAAgAAAAAAAAMAAAAAABAAABAAAAAAEAAAEAAA
Echo(AAAAABAAAAAAAAAAAAAAACAgAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Echo(AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Echo(AAAAAAAAAABcIAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC50ZXh0AAAA
Echo(ABAAAAAQAAAAAgAAAAIAAAAAAAAAAAAAAAAAACAAAGAuZGF0YQAAAFABAAAAIAAA
Echo(UgEAAAAEAAAAAAAAAAAAAAAAAABAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Echo(AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVieWB7AgAAACQjUX6UOgs
Echo(AAAAg8QED79F/FAPv0X+UA++RfpQuAAgQABQ6IgBAACDxBC4AAAAAOkAAAAAycNV
Echo(ieWB7CQAAACQuPb///9Q6GwBAACJRfy4AAAAAIlF3I1F+FCLRfxQ6FwBAACLRfiD
Echo(yBCD4L+D4N9Qi0X8UOhOAQAAi0XchcAPhAUAAADpnAAAAI1F9FC4AQAAAFCNReBQ
Echo(i0X8UOgvAQAAD7dF4IP4Ag+FcwAAAItF6IP4AbgAAAAAD5TAiUXchcAPhA8AAACL
Echo(RQi5AQAAAIgI6SMAAACLReiD+AK4AAAAAA+UwIlF3IXAD4QKAAAAi0UIuQIAAACI
Echo(CItF3IXAD4QdAAAAi0UIg8ACD79N5GaJCItFCIPAAoPAAg+/TeZmiQjpVP///4tF
Echo(+FCLRfxQ6JUAAADJwwAAAFWJ5YHsFAAAAJC4AAAAAIlF7LgAAAMAULgAAAEAUOh9
Echo(AAAAg8QIuAEAAABQ6HcAAACDxASNRexQuAAAAABQjUX0UI1F+FCNRfxQ6GEAAACD
Echo(xBSLRfRQi0X4UItF/FDoXf7//4PEDIlF8ItF8FDoRgAAAIPEBMnDAP8lXCBAAAAA
Echo(/yV0IEAAAAD/JXggQAAAAP8lfCBAAAAA/yWAIEAAAAD/JWAgQAAAAP8lZCBAAAAA
Echo(/yVoIEAAAAD/JWwgQAAAACVkICVkICVkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Echo(iCAAAAAAAAAAAAAAtCAAAFwgAACgIAAAAAAAAAAAAAD9IAAAdCAAAAAAAAAAAAAA
Echo(AAAAAAAAAAAAAAAAvyAAAMggAADVIAAA5iAAAPYgAAAAAAAACiEAABkhAAAqIQAA
Echo(OyEAAAAAAAC/IAAAyCAAANUgAADmIAAA9iAAAAAAAAAKIQAAGSEAACohAAA7IQAA
Echo(AAAAAG1zdmNydC5kbGwAAABwcmludGYAAABfY29udHJvbGZwAAAAX19zZXRfYXBw
Echo(X3R5cGUAAABfX2dldG1haW5hcmdzAAAAZXhpdABrZXJuZWwzMi5kbGwAAABHZXRT
Echo(dGRIYW5kbGUAAABHZXRDb25zb2xlTW9kZQAAAFNldENvbnNvbGVNb2RlAAAAUmVh
Echo(ZENvbnNvbGVJbnB1dEEAAAAA
Echo(-----END CERTIfICATE-----
) > "Mouse.exe"
If not exist "Mouse.exe" Call :Mouse_Installs
Certutil -Decode -f "Mouse.exe" "Mouse.exe" > nul
If not exist "Mouse.exe" Call :Mouse_Installs
@goto :eof


[ Last edited by Hope2021 on 2021-11-5 at 21:42 ]
26 鼠标三方不错。列坐标偏了一点 发表于 2021-11-07 00:05 ·  中国 广东 中山 电信
银牌会员
★★★
批处理编程迷
积分 1,916
发帖 752
注册 2008-12-28 04:30
UID 135147
性别 男
来自 广西
状态 离线
@echo off
Mode Con: Cols=80 Lines=25
for /F "tokens=1 delims=#" %%a in ('"prompt #$E# & echo on & for %%b in (1) do rem"') do set "ESC=%%a"

call :Mouse_Installs
title 批处理扫地雷 之 越战清道夫 Made by netbenton from http://bbs.bathome.cn
set `=!
::注意哦,这个变量很关键,

set #for1=for /f "tokens=1-6" %%c in ("!u! !m! !d! !l! !n! !r!") do (
set #for2=for %%k in (%%c.%%f %%c.%%g %%c.%%h %%d.%%f %%d.%%h %%e.%%f %%e.%%g %%e.%%h!) do (
::这个定义是为了缩减代码和提速

setlocal enabledelayedexpansion
set "ec-1= ABCDEFGHIJKLMNOP "
for /l %%a in (0,1,17) do (set M%%a=!ec-1:~%%a,1!)
set ec18= !ec-1! 后面还有其它字符表示或
set ec-1= !ec-1!
set ec0=■■■■■■■■■■■■■■■■■■ 还有!`!dilei!`!个雷,!`!tudi!`!亩地
set ec17=■■■■■■■■■■■■■■■■■■ !`!over!`!!`!say!`!
set str= abcdefghijklmnop
for /l %%a in (1,1,16) do set com!str:~%%a,1!=%%a
set ∷=今天运气不错哦...
set ①=生死由命,就放心踩吧
set ②=这里都不敢动,劝你回家种田吧!
set ③=团长,要看清想好呀。
set ④=这里要动的话,就只有半条命了!
set ⑤=探到不少雷呀,最好不要赌了
set ⑥=小心呀!团长,想好呀
set ⑦=危险啊!最好别动了!
set ⑧=这里全是雷呀!别动!!!
set n=0
for %%a in (① ② ③ ④ ⑤ ⑥ ⑦ ⑧) do (set/a n+=1&set s#=!s#!★&set !s#!=%%a&set n%%a=!n!)
set over=
set bj=@
set bj1=-1
set bj@1=1

set say=一个艰巨的任务开始了...
for /l %%a in (0,1,17) do (set r0.%%a=#&set r17.%%a=#&set r%%a.0=#&set r%%a.17=#)

:begin 重新开始
color f0
setlocal enabledelayedexpansion
for /l %%a in (1,1,40) do (
set/a ran=!random!%%16+1
set true=
for /l %%b in (1,1,16) do (
set/a ram=!random!%%16+1
if not defined true (
if not defined L!ran!.!ram! set L!ran!.!ram!=★&set true=y&set/a dilei+=1
)
)
)
set/a tudi=16*16-dilei
for /l %%a in (1,1,16) do (
set/a u=%%a-1,d=%%a+1
for /l %%b in (1,1,16) do (
if not defined L%%a.%%b (
set/a l=%%b-1,r=%%b+1
for /f "tokens=1-6" %%c in ("!u! %%a !d! !l! %%b !r!") do (
for %%z in ("!L%%c.%%f!!L%%c.%%g!!L%%c.%%h!!L%%d.%%f!!L%%d.%%h!!L%%e.%%f!!L%%e.%%g!!L%%e.%%h!") do (set r%%a.%%b=!%%~z!)
)
)
)
)
for /l %%a in (1,1,16) do (
for /l %%b in (1,1,16) do (
if not defined r%%a.%%b set "r%%a.%%b=∷"
if not defined L%%a.%%b set L%%a.%%b=!r%%a.%%b!
set r%%a.%%b=
)
)
set benton=set "str=!`!str!`!□"

:loop 主循环
for /l %%a in (1,1,16) do (
set str=
for /l %%b in (1,1,16) do (
if defined r%%a.%%b (
if !r%%a.%%b! equ @ (set "str=!str!%ESC%



































































































































[ Last edited by netbenton on 2021-11-6 at 05:45 ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
Hope2021 +1 2021-11-07 12:08
精简
=> 个人网志
论坛跳转: