Originally posted by Nickey at 2007-9-29 08:59 PM:
joppy
可否这样
例如:
第一次猜 50 太大
第二次猜 30 太少
提示:数字介乎 30~50 之间
第三次猜40 太大
提示:数字介乎 30~40 之间
... ...
...
Nickey, 我今天上来看到你的回复,很感谢:)
然后改了一下代码,你看看是不是满足你的要求了:
@echo off
mode con: cols=50 lines=13
title 猜数字小游戏---by joppY
color 0a
setlocal enabledelayedexpansion
REM 初始界面
:begin
cls
echo.
echo ╭─────────────────╮
echo │ │
echo │ 猜数字小游戏 - 提示版 │
echo │ │
echo │ By joppY │
echo │ │
echo ╰─────────────────╯
echo.
REM 产生随机数,并控制在0~100之间
set /a PUZZLE=%random%%%100
REM 初始化变量
set UserInput=""
set /a TIMES=0
set /a TIPA=0
set /a TIPB=100
REM 游戏例程
:game
REM 提示用户输入
echo 请输入一个数字(TIPS:介于!TIPA! - !TIPB!之间哦):
set /p UserInput=
set /a TIMES+=1
REM 简单检测用户输入是否合法
echo %UserInput% | findstr "" || goto error
echo %UserInput% | findstr /I "" && goto error
if %UserInput% GTR 100 goto overflow
if %UserInput% LSS 0 goto underflow
REM echo %PUZZLE%
REM 判断用户输入
if %UserInput% GTR %PUZZLE% goto toobig
if %UserInput% LSS %PUZZLE% goto toosmall
if %UserInput% EQU %PUZZLE% goto bingo
:toobig
REM 产生输入提示的上限
if %UserInput% LSS %TIPB% set /a TIPB=%UserInput%
cls
echo.
echo 第【!TIMES!】次
echo ╭─────────────────╮
echo │ │
echo │ ∶( 太大了! │
echo │ │
echo ╰─────────────────╯
echo.
goto game
:toosmall
REM 产生输入提示的下限
if %UserInput% GTR %TIPA% set /a TIPA=%UserInput%
cls
echo.
echo 第【!TIMES!】次
echo ╭─────────────────╮
echo │ │
echo │ ∶( 太小了! │
echo │ │
echo ╰─────────────────╯
echo.
goto game
:bingo
cls
echo.
echo 第【!TIMES!】次
echo ╭─────────────────╮
echo │ │
echo │ ∶〕Bingo! 你猜中了! │
echo │ │
echo ╰─────────────────╯
echo.
color cf
ping -n 1 127.1>nul
color fc
ping -n 1 127.1>nul
color cf
ping -n 1 127.1>nul
color fc
ping -n 1 127.1>nul
color 0a
echo.
set /p UserChoice=退出请按q,继续请按其他键...
if /I %UserChoice%==q goto end
goto begin
REM 处理异常
:error
cls
echo.
echo 第【!TIMES!】次
echo ╭─────────────────╮
echo │ │
echo │ ∶( 拜托,请输入数字! │
echo │ │
echo ╰─────────────────╯
echo.
goto game
:overflow
cls
echo.
echo 第【!TIMES!】次
echo ╭─────────────────╮
echo │ │
echo │ ∶( 你给的数>100了! │
echo │ │
echo ╰─────────────────╯
echo.
goto game
:underflow
cls
echo.
echo 第【!TIMES!】次
echo ╭─────────────────╮
echo │ │
echo │ ∶( 你给的数<0了! │
echo │ │
echo ╰─────────────────╯
echo.
goto game
REM 退出
:end
cls
echo.
echo.
echo ╭─────────────────╮
echo │ │
echo │ 欢迎下次来玩,Bye Bye~ │
echo │ │
echo ╰─────────────────╯
echo.
ping -n 2 127.1>nul
exit
Last edited by joppy on 2007-10-1 at 03:54 PM ]