『第
16 楼』:
@echo off
set count=10&set ci=1
:loop
set /a ss=%random%%%9+0
for %%n in (%var%) do if "%ss%" == "%%n" goto loop
set var=%var% %ss%
set /a b+=1
if %b% lss 4 goto loop
set var=%var: =%
:lis
if %count% equ 0 goto tui
set wei=0
set dui=0
set num=
cls
echo.&echo 请输入4位不重复的数字
if %ci% neq 1 (
echo.&echo 你以前输入的结果是&echo.
for /f "tokens=2 delims==" %%a in ('set _') do set/p= %%a <nul
)
echo.
set /p num=
if "%num%"=="" goto lis
cls
if not "%num:~3,1%"=="" (if not "%num:~4,1%"=="" goto weic) else goto weic
echo %num%|findstr "^[0-9]*$">nul||goto csz
set "b=%num:~0,1% %num:~1,1% %num:~2,1% %num:~3,1%"
set w=0
for %%a in (%b%) do (
for %%i in (%b%) do if %%a==%%i set/a w+=1
set/a w-=1
)
if %w% neq 0 goto cf
set/a count-=1
echo.&echo 随机数字是 %var%
echo.&echo 玩家输入的是 %num%
if "%var%"=="%num%" set jie=a4b0&goto ok
set "a=%var:~0,1% %var:~1,1% %var:~2,1% %var:~3,1%"
set "b=%num:~0,1% %num:~1,1% %num:~2,1% %num:~3,1%"
for %%a in (%a%) do (
for %%b in (%b%) do (
if "%%a"=="%%b" set/a dui+=1
))
if "%var:~0,1%"=="%num:~0,1%" set/a wei+=1
if "%var:~1,1%"=="%num:~1,1%" set/a wei+=1
if "%var:~2,1%"=="%num:~2,1%" set/a wei+=1
if "%var:~3,1%"=="%num:~3,1%" set/a wei+=1
set/a dui=dui-wei
if "%dui%" lss "0" set dui=0
set _jie%ci%=%num% A%wei%B%dui%
echo.&echo 你猜的结果是 A%wei%B%dui%
echo.&echo 你还有%count%次机会 你已经输入了%ci%次
set/a ci+=1
echo.&pause
goto lis
:ok
color f9
echo.&echo 你输入了%ci%次 猜对了%jie%
echo.&pause
exit
:weic
echo.&echo 你输入的位数不对,应该是4位.
echo.&pause
goto lis
:csz
echo.&echo 你输入的不是纯数字
echo.&pause
goto lis
:cf
echo.&echo 你输入的有重复的数字
echo.&pause
goto lis
:tui
cls&echo 你10次都猜错了
pause
|