![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-05 23:01 |
共 48,039 主题排行 / 350,124 发帖 / 今日 2 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 刚学BAT - 猜数小游戏 |
| 可打印版本 912 / 8 |
| 第1楼 joppy | 发表于 2007-09-29 10:47 |
| 初级用户 发帖 3 积分 23 | |
|
刚学BAT - 猜数小游戏 刚学批处理3天,不过幸好有点C的基础,学会了一些基本的东西。写了一个小游戏,请大家批评,呵呵。
[ Last edited by joppy on 2007-9-29 at 10:50 AM ] |
|
| 第2楼 lxmxn | 发表于 2007-09-29 12:05 |
| 版主 发帖 4,938 积分 11,386 | |
|
牛人.
加分. |
|
| 第3楼 joppy | 发表于 2007-09-29 19:49 |
| 初级用户 发帖 3 积分 23 | |
Originally posted by lxmxn at 2007-9-29 12:05 PM: 多谢斑竹对新人的鼓励 :) 以后请多指教! |
|
| 第4楼 Nickey | 发表于 2007-09-29 20:59 |
| 初级用户 发帖 59 积分 132 来自 GuangZhou | |
|
joppy
可否这样 例如: 第一次猜 50 太大 第二次猜 30 太少 提示:数字介乎 30~50 之间 第三次猜40 太大 提示:数字介乎 30~40 之间 ... ... ... |
|
| 第5楼 Nickey | 发表于 2007-09-29 21:48 |
| 初级用户 发帖 59 积分 132 来自 GuangZhou | |
|
实现方法
echo %TIMES% %UserInput%>>Temp.txt 太大 echo 数字介乎!From!~%UserInput%之间 太少 echo 数字介乎%UserInput%~!To!之间 问题就是这个 Form 跟 To 怎么在 Temp.txt 里面提取 这个我不懂 请高手接招 |
|
| 第6楼 yoyodos | 发表于 2007-09-29 22:48 |
| 初级用户 发帖 59 积分 128 | |
|
楼主你很棒!!
|
|
| 第7楼 Nickey | 发表于 2007-09-29 22:53 |
| 初级用户 发帖 59 积分 132 来自 GuangZhou | |
|
那位高手可以完成这个问题
提示:答案在Form~To之间 @echo off mode con: cols=50 lines=15 title 猜数字小游戏---by joppY color 0a setlocal enabledelayedexpansion del Temp.txt 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 REM 游戏例程 :game set /p UserInput=请输入0~100之间的一个数字: set /a TIMES+=1 echo 第%TIMES%次猜%UserInput%>>Temp.txt for /f %%i in (Temp.txt) do set To=%%i REM 简单检测用户输入是否合法 echo %UserInput% | findstr "[0-9]" || goto error echo %UserInput% | findstr /I "[a-z]" && 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 cls echo. echo 第【!TIMES!】次 echo ╭─────────────────╮ echo │ │ echo │ ∶( 太大了! │ echo │ │ echo │ │ echo ╰─────────────────╯ echo 数字介乎 %To% ~ %UserInput% 之间 echo. goto game :toosmall cls echo. echo 第【!TIMES!】次 echo ╭─────────────────╮ echo │ │ echo │ ∶( 太小了! │ echo │ │ echo │ │ echo ╰─────────────────╯ echo 数字介乎 %UserInput% ~ %To% 之间 echo. goto game :bingo cls echo. echo 第【!TIMES!】次 echo ╭─────────────────╮ echo │ │ echo │ ∶〕Bingo! 你猜中了! │ echo │ │ 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 del Temp.txt goto end goto begin REM 处理异常 :error cls echo. echo 第【!TIMES!】次 echo ╭─────────────────╮ echo │ │ echo │ ∶( 拜托,请输入数字! │ echo │ │ echo │ │ echo ╰─────────────────╯ echo. goto game :overflow cls echo. echo 第【!TIMES!】次 echo ╭─────────────────╮ echo │ │ echo │ ∶( 你给的数>100了! │ echo │ │ echo │ │ echo ╰─────────────────╯ echo. goto game :underflow cls echo. echo 第【!TIMES!】次 echo ╭─────────────────╮ echo │ │ echo │ ∶( 你给的数<0了! │ echo │ │ echo │ │ echo ╰─────────────────╯ echo. goto game REM 退出 :end cls echo. echo. echo ╭─────────────────╮ echo │ │ echo │ 欢迎下次来玩,Bye Bye~ │ echo │ │ echo │ │ echo ╰─────────────────╯ echo. del Temp.txt ping -n 2 127.1>nul exit |
|
| 第8楼 joppy | 发表于 2007-10-01 15:52 |
| 初级用户 发帖 3 积分 23 | |
Originally posted by Nickey at 2007-9-29 08:59 PM: Nickey, 我今天上来看到你的回复,很感谢:) 然后改了一下代码,你看看是不是满足你的要求了: [ Last edited by joppy on 2007-10-1 at 03:54 PM ] |
|
| 第9楼 Nickey | 发表于 2007-10-01 18:15 |
| 初级用户 发帖 59 积分 132 来自 GuangZhou | |
|
呵呵 你做到了 蛮好
又学习了 不耻下问 我都会成为大鸟 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |