私はYahtzeeゲームを作ろうとしています。特定のサイコロの顔をエコーさせるために、数字1〜6をランダム化する必要があります。バッチ変数をランダム化
:gameplay
cls
pause
SET /A dice=%RANDOM% %%6+1
if %dice%==1
echo %dice1a%
echo %dice1b%
echo %dice1c%
echo %dice1d%
echo %dice1e%
echo %dice1g%
pause
これは私が開発したコードです。まだ完成していませんが、これは単なるランダマイザーのテストです。私がこれを実行するたびに、それは最初の一時停止に達し、プログラムを終了します。あなたは問題が何であるか知っていれば教えてくれますか?複数の変数を格納することが可能かどうか疑問に思っていましたので、複数の変数を常にエコーする必要はありません。あなたが何かを知っているなら、教えてください。おかげ
編集:私は、変数が正しく設定されていないと思うので、
:gameplay
cls
pause
SET /A dice=%RANDOM% %%6+1
if %dice%=1
echo Hi
pause
echo %dice1a%
echo %dice1b%
echo %dice1c%
echo %dice1d%
echo %dice1e%
echo %dice1g%
pause
それは第二のポーズにフォロースルーしませんでした: は、私はあなたが提案し、これをやったことを試してみました。今回は、無効になったコマンド構文が終了する直前に気づいたことはほとんどありませんでした。しかし、提案をありがとう。
最初の一時停止だけが確実に行われますか?それが倒れるように見える。そこにいくつかのエコーを入れてください。 – yacc
'if%dice%== 1 'でもう一度試してください – yacc
プログラムが終了する前に、1秒間に無効な構文があると言われます。 – IronFlame