これは私のスクリプト/プログラムです。間違ったセクション: この数学チャレンジプログラムにタイマースクリプトを追加するには?
@echo off
cls
color 0a
:startup
REM Determinant to Sign (+-*/)
set /a deto1=%random% %%4 +1
set /a deto2=%random% %%4 +1
set /a deto3=%random% %%4 +1
set /a deto4=%random% %%4 +1
REM Set Sign from det
if %deto1%==1 set o1=+
if %deto1%==2 set o1=-
if %deto1%==3 set o1=*
if %deto1%==4 set o1=/
if %deto2%==1 set o2=+
if %deto2%==2 set o2=-
if %deto2%==3 set o2=*
if %deto2%==4 set o2=/
if %deto3%==1 set o3=+
if %deto3%==2 set o3=-
if %deto3%==3 set o3=*
if %deto3%==4 set o3=/
if %deto4%==1 set o4=+
if %deto4%==2 set o4=-
if %deto4%==3 set o4=*
if %deto4%==4 set o4=/
REM Randomize digits from 1-9
set /a d1=%random% %%9 +1
set /a d2=%random% %%9 +1
set /a d3=%random% %%9 +1
set /a d4=%random% %%9 +1
REM Operation for final answer stored inside memory
set /a answer=%d1%%o1%%d2%%o2%%d3%%o3%%d4%
title MathWhiz!
:game
cls
echo.
echo Find the correct operation in order. All non-intregers are rounded down
to whole numbers. (60 seconds)
echo.
echo %d1%...%d2%...%d3%...%d4%=%answer%
echo.
set /p userans=Answer(Only sign in order from Left to Right):
REM Comparasion of user answer to correct answer in memory
if %userans%==%o1%%o2%%o3% goto :correct
if not %userans%==%o1%%o2%%o3% goto :wrong
:wrong
cls
title That's wrong! :(
echo.
echo That's wrong unfortunately because the answer is
%d1%%o1%%d2%%o2%%d3%%o3%%d4%=%answer%. Try another one!
echo.
pause
goto :startup
:correct
cls
title That's correct! :)
echo.
echo That's correct as from %d1%%o1%%d2%%o2%%d3%%o3%%d4%=%answer%! Try
another problem.
echo.
pause
goto :startup
だから、どのように我々は時間にプレーヤーが
にリダイレクトされるまで60秒間意志を持続し、この数学の挑戦をタイマースクリプトを追加します。私はタイムアウト/ t 60/NOBREAKのような多くの方法を試しましたが、ユーザーの入力(セット/ p)の前にスクリプト化されている場合、プレイヤーは問題を解決するために提示されませんが、入力はプレーヤーにもタイムアウトされません。 & &を使用すると、入力とコマンドの両方を一度に実行すると、表示されていない空白の画面も同じ画面も返されるため、正しく動作しないようです。他のストップウォッチスクリプトの実装も同じ問題に直面しています。
https://stackoverflow.com/questions/28143549/how-to-exit-a-set-p-in-a-batch-file/28196468#28196468 – Aacini
。私はそれを勉強してスクリプトに実装する必要があります。 – kornkaobat