论坛: 编程破解 标题: 【原创】批处理写的猜数字大小游戏优化了不少。。。。 复制本贴地址    
作者: allyesno [allyesno]    论坛用户   登录
本帖由 [NetDemon] 从 << 黑客进阶>> 转移而来

漏洞是不少  随便玩玩吧 嘎嘎

@echo off
rem 将代码保存为allyesno.bat 在cmd shell下运行即可
rem 输入allyesno 可以看见答案
echo 这是一个猜数字的游戏
echo 游戏开始 已经生成了一个随机的数字
set ok=%RANDOM%>nul
set count=0>nul
echo 请输入你想猜的数字:
goto gamex
:game
echo 再猜一次!一共有20次机会,你已经猜了%count%次
:gamex
set/p guess=
echo 请等待。。。。。。
rem 简单防止提交非法参数。。。。优化了好几次的代码。。。
if /i "%guess%"=="allyesno" echo 你要猜测的数字是 %ok%,你这个作弊的家伙&&goto endxx
echo "%guess%"|find "!">nul&&goto error
echo "%guess%"|find "+">nul&&goto error
echo "%guess%"|find "-">nul&&goto error
echo "%guess%"|find "*">nul&&goto error
echo "%guess%"|find "/">nul&&goto error
echo "%guess%"|find "~">nul&&goto error
echo "%guess%"|find "%">nul&&goto error
echo "%guess%"|find "&">nul&&goto error
echo "%guess%"|find "(">nul&&goto error
echo "%guess%"|find ")">nul&&goto error
echo "%guess%"|find "=">nul&&goto error
echo "%guess%"|find "|">nul&&goto error
echo "%guess%"|find ",">nul&&goto error
echo "%guess%"|find "<">nul&&goto error
echo "%guess%"|find ">">nul&&goto error
echo %guess%|find/i "0x">nul&&goto error
if "%guess%"=="0" goto upallyesno
set/a debug=%guess%-0>nul
if "%debug%"=="0" goto error
:upallyesno
if "%count%"=="0" goto countx
goto gameallyesno
:countx
set %count%"=="1"
goto gamenow
:error
echo 你输入的不是数字,请你输入数字
goto gamex
:gameallyesno
set/a count=%count%+1
if "%count%"=="20" echo 猪头啊你,猜了20次都猜不对&&goto pig
:gamenow
if "%guess%"=="%ok%" echo 哇靠你真NB,你猜对了喔&&goto end
set/a %guess%-%ok%|find "-">nul&&echo 你猜得数字小了喔&& goto game
echo 你猜得数字大了喔
goto game
:pig
echo 把你抓去卖了 正确答案是 %ok%
goto endxx
:end
if "%count%"=="1" echo 你太厉害了,一次就猜对了
:endx
echo 恭喜你,你一共猜了 %count%次
:endxx


地主 发表时间: 04-01-27 19:54

回复: blegding [blegding]   论坛用户   登录
批处理可以这样用?

B1层 发表时间: 04-01-28 20:17

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号