変数 %random% を使用してランダムなトランプを選択するバッチ ファイルを作成しました。バッチ スクリプトは、%random% が 1 から 13 の間になるまでループし続け、スーツに対して再び実行します。次に、数値として設定された変数をテキストに変換すると、バッチ ファイルは次のようになります: ハートの 4 つ、またはスペードのキング。唯一の問題は、永遠にかかることです! CMD.exeを開いて入力すると
Echo %random%
数が 1 から 4 になるまでそれを行うと、永遠にそこにいることができます。バッチファイルに入れてループしても、20秒くらいかかります。おそらく乱数生成の前に検索を絞り込むことで、時間を短縮する方法はありますか? よくわかりません。それが役立つ場合、または私を理解できない場合のために、コードは次のとおりです。
@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