批量编程:随机转到代码的随机部分

时间:2013-09-24 19:53:34

标签: batch-file cmd

(如果我写错了,我会编辑或删除这篇文章) 所以我有这个代码,我似乎无法正确启动。看看吧。

set /a num=%random% %%9 +1
set /p start="Do you want to start? "
if %start% ==yes goto %random%
if %start% ==no exit
:1
echo Tu turi %score% tasku (-us)!
set /p answer="6 x 5 = "
if %answer% equ 30 (
    echo Teisingai! Gavai 1 taska!
    set /a score+=1
    echo %score% > %player%.sav
    ) else (
    echo Neteisingai :( Atsakymas buvo %answer%!
    echo %score% > %player%.sav
    )
:2
echo Tu turi %score% tasku (-us)!
set /p answer="123 x 3 = "
if %answer% equ 369 (
    echo Teisingai! Gavai 1 taska!
    set /a score+=1
    echo %score% > %player%.sav
    ) else (
    echo Neteisingai :( Atsakymas buvo %answer%!
    echo %score% > %player%.sav
    )
:3
echo Tu turi %score% tasku (-us)!
set /p answer="-93128 + 993128 = "
if %answer% equ 900000 (
    echo Teisingai! gavai 5 taskus!
    set /a score+=5
    echo %score% > %player%.sav
    ) else (
    echo Neteisingai :( Atsakymas buvo %answer%!
    echo %score% > %player%.sav
    )
:4
echo Tu turi %score% tasku!
set /p answer="35734534757357 x 0 = "
if %answer% equ 0 (
    echo Teisingai! gavai 2 taskus!
    set /a score+=2
    echo %score% > %player%.sav
    ) else (
    echo Neteisingai :( Atsakymas buvo %answer%!
    echo %score% > %player%.sav
    )
:5
echo Tu turi %score% tasku!
set /p answer="6 + 8 x 3 = "
if %answer% equ 30 (
    echo Teisingai! gavai 3 taskus!
    set /a score+=3
    echo %score% > %player%.sav
    ) else (
    echo Neteisingai :( Atsakymas buvo %answer%!
    echo %score% > %player%.sav
    )
:6
echo Tu turi %score% tasku!
set /p answer="X + 1234 = 2468. Koks skaicius yra X?"
if %answer% equ 1234 (
    echo Teisingai! gavai 4 taskus!
    set /a score+=4
    echo %score% > %player%.sav
    ) else (
    echo Neteisingai :( Atsakymas buvo %answer%!
    echo %score% > %player%.sav
    )
:7
echo Tu turi %score% tasku!
set /p answer="-9 x -9 = "
if %answer% equ 81 (
    echo Teisingai! gavai 5 taskus!
    set /a score+=5
    echo %score% > %player%.sav
    ) else (
    echo Neteisingai :( Atsakymas buvo %answer%!
    echo %score% > %player%.sav
    )
:8
echo Tu turi %score% tasku!
set /p answer="1 + 1 x (111 x 3) = "
if %answer% equ 666 (
    echo Teisingai! gavai 6 taskus!
    set /a score+=6
    echo %score% > %player%.sav
    ) else (
    echo Neteisingai :( Atsakymas buvo %answer%!
    echo %score% > %player%.sav
    )
:9
echo Tu turi %score% tasku!
set /p answer="634745645634576456457645657 x 0 = "
if %answer% equ 0 (
    echo Teisingai! gavai 2 taskus!
    set /a score+=2
    echo %score% > %player%.sav
    ) else (
    echo Neteisingai :( Atsakymas buvo %answer%!
    echo %score% > %player%.sav
    )

它主要使用不同的语言。抱歉。基本上我想这样做如果你在开头写“是”它会转到一个随机数学问题(从1到9)。我希望有人会理解这一点,因为我不善于解释事情:(

2 个答案:

答案 0 :(得分:2)

复制不适合使一些逻辑工作在一堆不同的数据上。您不需要任何GOTO,只需更巧妙地组织数据。然后,您可以轻松地从数据结构中挑选一个随机问题(或动态生成)并将其放入函数中。好吧,这在CMD语言中可能太难了。这不是一个好的语言,尝试更简单和更强大的东西。我推荐Scheme或Haskell。之后,学习另一种语言会更容易。

答案 1 :(得分:2)

goto:%num%怎么样?


请不要输入。