我創建了一個批處理文件,使用變量%random%選擇一張隨機紙牌。批處理腳本不斷循環,直到%random%介於1和13之間,然後再次執行該處理。然後我將設置爲數字的變量轉換爲文本,因此批處理文件會這樣說:四顆心或黑桃王。唯一的問題是,它需要永遠!如果您在批處理文件 - 選取卡
Echo %random%
打開的CMD.exe和類型,並做到這一點,直到數爲1至四個,你會永遠存在。即使你把它放到一個批處理文件並使用一個循環,它仍然需要大約二十秒。有沒有辦法縮短時間,或者縮小搜索前的隨機數生成?我真的不確定。如果有幫助,或者你可以不理解我,這裏是代碼:
@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
那麼,那肯定比你的第一個答案要好。 –
謝謝!寫完之後不久,我意識到它實際上偏向於生成兩位數字(10,11,12),所以我尋找更好的方法...... – urish