最后手痒还是写了,像这样:
struct.bat- @echo off
- set tree=0123
- set tree[0123][04]=1032
- set tree[0123][04][1032][04]=2301
- set tree[0123][04][1032][04][2301][22]=2310
- set tree[0123][04][1032][04][2301][22][2310][04]=3201
- set tree[0123][04][1032][04][2301][04]=3210
- set tree[0123][04][1032][22]=1230
- set tree[0123][04][1032][22][1230][13]=1302
- set tree[0123][04][1032][22][1230][13][1302][04]=2031
- set tree[0123][04][1032][22][1230][04]=3012
- set tree[0123][21]=0134
复制代码 批处理调用 struct.bat 为变量赋值。借 wget 向网站 post 并获取反馈信息。- @echo off
- setlocal enabledelayedexpansion
- echo Tree building ...
- call struct.bat
- echo Begin ...
-
- :AGAIN
- set guess=0123
- set varname=tree
- set prev=0
-
- :WHILE
- call :post %guess%
- echo %guess% - %AB%, %tokens%
-
- if "%AB%" == "40" (
- echo "Success"
- goto :AGAIN
- )
-
- if not "%prev%" == "0" (
- if not "%prev%" == "%tokens%" (
- echo "tokens changed";
- goto :AGAIN
- )
- )
-
- set varname=%varname%[%guess%][%AB%]
- set guess=!%varname%!
- set prev=%tokens%
- goto WHILE
-
- :post
- wget --quiet -O res.txt "http://www.codetiger.win/extra/API.php?username=BatchScript&password=batchscript&number=%1&send=answer" 2>nul
-
- for /f "tokens=4,6,10 delims=:,}" %%a in (res.txt) do (
- set AB=%%a%%b
- set tokens=%%c
- )
- goto :eof
复制代码 猜题速度(很慢,但是感觉好玩)- adad 193791 + 0 0.0/min
- vic3 142669 + 0 0.0/min
- coadsa 850 + 0 0.0/min
- BatchScript 752 + 55 109.6/min
- llsd 139 + 0 0.0/min
- s**sdf 75 + 0 0.0/min
- sfwfssf 0 + 0 0.0/min
复制代码 完整的 struct.bat 和 猜数字批处理,已上传附件: |