基本的に、私のコードは同じ数を生成し続けています。問題を確認するためにエコーをオフにすると、実際の %random% 変数が変化していますが、計算を行って「いいえ、実際にはこの数値です」と言っているようです。コードは次のとおりです。
set /a num=(24 * %random%) / 32768 + 1
私はそのコードを単独でテストしましたが、正常に動作します。しかし、コードに if ステートメント* を追加すると、うまくいきません。それで、問題は、これをどのように修正し、なぜそれが起こっているのかということです.
*私のifステートメント:
if "%num%"=="24" (
echo X
set /p ans=
if "%ans%"=="litin" (
echo.
echo Correct!
pause>nul
goto generate
)
)
私のifステートメントはすべてそのように見えます。