我正在批量编写程序。它必须采用一个变量,这是一个数字,并从该变量中加或减得到另一个数字。
我目前有:
set /A str="%RANDOM% %% 6"+1+"%RANDOM% %% 6"+1+"%RANDOM% %% 6"+3
set /A dex="%RANDOM% %% 6"+1+"%RANDOM% %% 6"+1+"%RANDOM% %% 6"+3
set /A con="%RANDOM% %% 6"+1+"%RANDOM% %% 6"+1+"%RANDOM% %% 6"+3
set /A int="%RANDOM% %% 6"+1+"%RANDOM% %% 6"+1+"%RANDOM% %% 6"+3
set /A wis="%RANDOM% %% 6"+1+"%RANDOM% %% 6"+1+"%RANDOM% %% 6"+3
set /A cha="%RANDOM% %% 6"+1+"%RANDOM% %% 6"+1+"%RANDOM% %% 6"+3
set /a Data11="%str% %% 1"+2
set /a Data12=%dex%
set /a Data13="%con% %% 1"+2
set /a Data14="%int% %% 1"-2
set /a Data15=%wis%
set /a Data16=%cha%
不幸的是,它目前将Data11,13和14设置为+2或-2。
我希望它能够以这种方式工作,因此我可以对str,dex,ectra变量进行多种不同的更改,这些变量又取决于用户输入和选择。
如何让它按预期工作?
答案 0 :(得分:2)
将Data11变量设置为str modulus 1
,即0
答案 1 :(得分:1)
对于正常变量上的大多数算术或百分号,您不需要引号
- 我为此示例删除了%% 1
。
set /A str=%RANDOM% %% 6+1+%RANDOM% %% 6+1+%RANDOM% %% 6+3
set /A dex=%RANDOM% %% 6+1+%RANDOM% %% 6+1+%RANDOM% %% 6+3
set /A con=%RANDOM% %% 6+1+%RANDOM% %% 6+1+%RANDOM% %% 6+3
set /A int=%RANDOM% %% 6+1+%RANDOM% %% 6+1+%RANDOM% %% 6+3
set /A wis=%RANDOM% %% 6+1+%RANDOM% %% 6+1+%RANDOM% %% 6+3
set /A cha=%RANDOM% %% 6+1+%RANDOM% %% 6+1+%RANDOM% %% 6+3
set /a Data11=str + 2
set /a Data12=dex
set /a Data13=con + 2
set /a Data14=int - 2
set /a Data15=wis
set /a Data16=cha
set data
pause
答案 2 :(得分:0)