我创建了一个批处理文件,它使用变量 %random% 选择随机扑克牌。批处理脚本不断循环,直到 %random% 介于 1 和 13 之间,然后再次为西装执行此操作。然后,我将设置为数字的变量转换为文本,因此批处理文件会显示如下内容:红桃四或黑桃王。唯一的问题是,它需要永远!如果你打开 CMD.exe 并输入
Echo %random%
并这样做,直到数字介于 1 和 4 之间,你将永远在那里。即使你把它放入一个批处理文件并使用循环,它仍然需要大约二十秒。有没有办法通过在随机数生成之前缩小搜索范围来缩短时间?我真的不确定。如果它有帮助,或者你不能理解我,这里是代码:
@echo off
:loop
cls
echo generating card...
set num=%random%
if /i %num% GTR 13 goto loop
if /i %num% LSS 1 goto loop
goto next
:next
set suit=%random%
if /i %suit% GTR 4 goto next
if /i %suit% LSS 1 goto next
goto next2
:next2
if %num%==11 set num=jack
if %num%==12 set num=queen
if %num%==13 set num=king
goto next3
:next3
if %suit%==1 set suiter=Hearts
if %suit%==2 set suiter=Diamonds
if %suit%==3 set suiter=Clubs
if %suit%==4 set suiter=Spades
goto ech
:ech
echo %num% of %suiter%
echo.
echo.
echo.
echo press any key to choose again
pause >nul
goto loop