@echo off
title 扫雷游戏-神来之笔工作室
color f0
mshta vbscript:msgbox("扫雷游戏来自神来之笔工作室,制作者:神来之笔",48,"系统重要提示!!!")(window.close)
set 版本=版本:V1.0
set line1=开始游戏
set line2=查看说明
set line3=更改颜色
set line4=退出游戏
set line5=现在时间
set line6=现在日期
set line7=请选择
set error=输入错误,请重新输入
set "space= "
set var=0
:menu
echo ┏━━━━━━━━━━━┓
ping/n 1 127.1>nul
echo ┃%版本% ┃
ping/n 1 127.1>nul
echo ┃ 1.%line1% ┃
ping/n 1 127.1>nul
echo ┃ 2.%line2% ┃
ping/n 1 127.1>nul
echo ┃ 3.%line3% ┃
ping/n 1 127.1>nul
echo ┃ 4.%line4% ┃
ping/n 1 127.1>nul
echo ┃%line5%:%time% ┃
ping/n 1 127.1>nul
echo ┃%line6%:%date% ┃
ping/n 1 127.1>nul
echo ┃ %line7% ┃
ping/n 1 127.1>nul
echo ┗━━━━━━━━━━━┛
:control
set /p begin=
if /i "%begin%"=="1" goto game
if /i "%begin%"=="2" goto tip
if /i "%begin%"=="3" goto color
if /i "%begin%"=="4" exit
echo %error% &goto control
:game
cls
echo 欢迎开始游戏,请先选择游戏难度:
echo ┏━━━━━━━┓
echo ┃1.简单(9×9) ┃
echo ┣━━━━━━━┫
echo ┃2.中等(16×16)┃[敬请期待]
echo ┣━━━━━━━┫
echo ┃3.专家(30×16)┃[敬请期待]
echo ┣━━━━━━━┫
echo ┃4.自定义 ┃[敬请期待]
echo ┗━━━━━━━┛
:gamex
set /p set=
if /i "%set%"=="1" goto minesweeper1
if /i "%set%"=="2" goto minesweeper2
if /i "%set%"=="3" goto minesweeper3
if /i "%set%"=="4" goto set
echo %error% &goto gamex
:minesweeper1
cls
set h=71
::定义安全方格的数量
set a1=%space%1
set a2=%space%2
set a3=%space%3
set a4=%space%4
set a5=%space%5
set a6=%space%6
set a7=%space%7
set a8=%space%8
set a9=%space%9
set /a a10=10,a11=11,a12=12,a13=13,a14=14,a15=15,a16=16,a17=17,a18=18,a19=19,a20=20,a21=21,a22=22,a23=23,a24=24,a25=25,a26=26,a27=27,a28=28,a29=29,a30=30,a31=31,a32=32,a33=33,a34=34,a35=35,a36=36,a37=37,a38=38,a39=39,a40=40,a41=41,a42=42,a43=43,a44=44,a45=45,a46=46,a47=47,a48=48,a49=49,a50=50,a51=51,a52=52,a53=53,a54=54,a55=55,a56=56,a57=57,a58=58,a59=59,a60=60,a61=61,a62=62,a63=63,a64=64,a65=65,a66=66,a67=67,a68=68,a69=69,a70=70,a71=71,a72=72,a73=73,a74=74,a75=75,a76=76,a77=77,a78=78,a79=79,a80=80,a81=81
::定义各区域数值
set /a mine1=%random%%%81+1
:check1
set /a mine2=%random%%%81+1
if %mine2% equ %mine1% goto check1
:check2
set /a mine3=%random%%%81+1
if %mine3% equ %mine1% goto check2
if %mine3% equ %mine2% goto check2
:check3
set /a mine4=%random%%%81+1
if %mine4% equ %mine1% goto check3
if %mine4% equ %mine2% goto check3
if %mine4% equ %mine3% goto check3
:check4
set /a mine5=%random%%%81+1
if %mine5% equ %mine1% goto check4
if %mine5% equ %mine2% goto check4
if %mine5% equ %mine3% goto check4
if %mine5% equ %mine4% goto check4
:check5
set /a mine6=%random%%%81+1
if %mine6% equ %mine1% goto check5
if %mine6% equ %mine2% goto check5
if %mine6% equ %mine3% goto check5
if %mine6% equ %mine4% goto check5
if %mine6% equ %mine5% goto check5
:check6
set /a mine7=%random%%%81+1
if %mine7% equ %mine1% goto check6
if %mine7% equ %mine2% goto check6
if %mine7% equ %mine3% goto check6
if %mine7% equ %mine4% goto check6
if %mine7% equ %mine5% goto check6
if %mine7% equ %mine6% goto check6
:check7
set /a mine8=%random%%%81+1
if %mine8% equ %mine1% goto check7
if %mine8% equ %mine2% goto check7
if %mine8% equ %mine3% goto check7
if %mine8% equ %mine4% goto check7
if %mine8% equ %mine5% goto check7
if %mine8% equ %mine6% goto check7
if %mine8% equ %mine7% goto check7
:check8
set /a mine9=%random%%%81+1
if %mine9% equ %mine1% goto check8
if %mine9% equ %mine2% goto check8
if %mine9% equ %mine3% goto check8
if %mine9% equ %mine4% goto check8
if %mine9% equ %mine5% goto check8
if %mine9% equ %mine6% goto check8
if %mine9% equ %mine7% goto check8
if %mine9% equ %mine8% goto check8
:check9
set /a mine10=%random%%%81+1
if %mine10% equ %mine1% goto check9
if %mine10% equ %mine2% goto check9
if %mine10% equ %mine3% goto check9
if %mine10% equ %mine4% goto check9
if %mine10% equ %mine5% goto check9
if %mine10% equ %mine6% goto check9
if %mine10% equ %mine7% goto check9
if %mine10% equ %mine8% goto check9
if %mine10% equ %mine9% goto check9
::定义雷区,并自检是否重复
:start1
if %h% equ 0 goto win
echo 共有10个地雷,祝好运!
echo ┌—┬—┬—┬—┬—┬—┬—┬—┬—┐
echo │%a1%│%a2%│%a3%│%a4%│%a5%│%a6%│%a7%│%a8%│%a9%│
echo ├—┼—┼—┼—┼—┼—┼—┼—┼—┤
echo │%a10%│%a11%│%a12%│%a13%│%a14%│%a15%│%a16%│%a17%│%a18%│
echo ├—┼—┼—┼—┼—┼—┼—┼—┼—┤
echo │%a19%│%a20%│%a21%│%a22%│%a23%│%a24%│%a25%│%a26%│%a27%│
echo ├—┼—┼—┼—┼—┼—┼—┼—┼—┤
echo │%a28%│%a29%│%a30%│%a31%│%a32%│%a33%│%a34%│%a35%│%a36%│
echo ├—┼—┼—┼—┼—┼—┼—┼—┼—┤
echo │%a37%│%a38%│%a39%│%a40%│%a41%│%a42%│%a43%│%a44%│%a45%│
echo ├—┼—┼—┼—┼—┼—┼—┼—┼—┤
echo │%a46%│%a47%│%a48%│%a49%│%a50%│%a51%│%a52%│%a53%│%a54%│
echo ├—┼—┼—┼—┼—┼—┼—┼—┼—┤
echo │%a55%│%a56%│%a57%│%a58%│%a59%│%a60%│%a61%│%a62%│%a63%│
echo ├—┼—┼—┼—┼—┼—┼—┼—┼—┤
echo │%a64%│%a65%│%a66%│%a67%│%a68%│%a69%│%a70%│%a71%│%a72%│
echo ├—┼—┼—┼—┼—┼—┼—┼—┼—┤
echo │%a73%│%a74%│%a75%│%a76%│%a77%│%a78%│%a79%│%a80%│%a81%│
echo └—┴—┴—┴—┴—┴—┴—┴—┴—┘
echo 请输入扫雷的位置,按图中的数字(在数字前输入f可标记为地雷,数字前输入c可取消标记,特别温馨提示:不要踩已标记为雷的方格)
:begin1
set /p s=
if %s% equ %mine1% goto lose
if %s% equ %mine2% goto lose
if %s% equ %mine3% goto lose
if %s% equ %mine4% goto lose
if %s% equ %mine5% goto lose
if %s% equ %mine6% goto lose
if %s% equ %mine7% goto lose
if %s% equ %mine8% goto lose
if %s% equ %mine9% goto lose
if %s% equ %mine10% goto lose
::游戏失败检测
if %space%%s% equ %a1% goto mode1.1
if %space%%s% equ %a2% goto mode1.2
if %space%%s% equ %a3% goto mode1.2
if %space%%s% equ %a4% goto mode1.2
if %space%%s% equ %a5% goto mode1.2
if %space%%s% equ %a6% goto mode1.2
if %space%%s% equ %a7% goto mode1.2
if %space%%s% equ %a8% goto mode1.2
if %space%%s% equ %a9% goto mode1.3
if %s% equ %a10% goto mode1.4
if %s% equ %a11% goto mode1.5
if %s% equ %a12% goto mode1.5
if %s% equ %a13% goto mode1.5
if %s% equ %a14% goto mode1.5
if %s% equ %a15% goto mode1.5
if %s% equ %a16% goto mode1.5
if %s% equ %a17% goto mode1.5
if %s% equ %a18% goto mode1.6
if %s% equ %a19% goto mode1.4
if %s% equ %a20% goto mode1.5
if %s% equ %a21% goto mode1.5
if %s% equ %a22% goto mode1.5
if %s% equ %a23% goto mode1.5
if %s% equ %a24% goto mode1.5
if %s% equ %a25% goto mode1.5
if %s% equ %a26% goto mode1.5
if %s% equ %a27% goto mode1.6
if %s% equ %a28% goto mode1.4
if %s% equ %a29% goto mode1.5
if %s% equ %a30% goto mode1.5
if %s% equ %a31% goto mode1.5
if %s% equ %a32% goto mode1.5
if %s% equ %a33% goto mode1.5
if %s% equ %a34% goto mode1.5
if %s% equ %a35% goto mode1.5
if %s% equ %a36% goto mode1.6
if %s% equ %a37% goto mode1.4
if %s% equ %a38% goto mode1.5
if %s% equ %a39% goto mode1.5
if %s% equ %a40% goto mode1.5
if %s% equ %a41% goto mode1.5
if %s% equ %a42% goto mode1.5
if %s% equ %a43% goto mode1.5
if %s% equ %a44% goto mode1.5
if %s% equ %a45% goto mode1.6
if %s% equ %a46% goto mode1.4
if %s% equ %a47% goto mode1.5
if %s% equ %a48% goto mode1.5
if %s% equ %a49% goto mode1.5
if %s% equ %a50% goto mode1.5
if %s% equ %a51% goto mode1.5
if %s% equ %a52% goto mode1.5
if %s% equ %a53% goto mode1.5
if %s% equ %a54% goto mode1.6
if %s% equ %a55% goto mode1.4
if %s% equ %a56% goto mode1.5
if %s% equ %a57% goto mode1.5
if %s% equ %a58% goto mode1.5
if %s% equ %a59% goto mode1.5
if %s% equ %a60% goto mode1.5
if %s% equ %a61% goto mode1.5
if %s% equ %a62% goto mode1.5
if %s% equ %a63% goto mode1.6
if %s% equ %a64% goto mode1.4
if %s% equ %a65% goto mode1.5
if %s% equ %a66% goto mode1.5
if %s% equ %a67% goto mode1.5
if %s% equ %a68% goto mode1.5
if %s% equ %a69% goto mode1.5
if %s% equ %a70% goto mode1.5
if %s% equ %a71% goto mode1.5
if %s% equ %a72% goto mode1.6
if %s% equ %a73% goto mode1.4
if %s% equ %a74% goto mode1.5
if %s% equ %a75% goto mode1.5
if %s% equ %a76% goto mode1.5
if %s% equ %a77% goto mode1.5
if %s% equ %a78% goto mode1.5
if %s% equ %a79% goto mode1.5
if %s% equ %a80% goto mode1.5
if %s% equ %a81% goto mode1.6