-1

我正在批量制作一个基于文本的 RPG 游戏,并且在某个事件中遇到问题,在该事件中某些武器应该造成 0 到 10 之间的随机伤害。这是我的代码:

设置 /a 伤害=%random%/3277 echo %damage% 暂停

如您所见,3277 约为 32767/10。但是,我一直得到 9 作为结果。谁能帮我确定我做错了什么?另外,还有另一种方法可以编写代码以使其具有最小值和最大值吗?我希望它在 6 到 10 之间,而不是 0 到 10 之间。

4

1 回答 1

1

使用模数:

SET /A damage=%random% %% 11

这样可以保证 [0, 11[ 之间的数字。

对于这么小的除数,您将接近均匀分布(假设 %random% 也是均匀分布)。

于 2013-08-30T07:57:11.467 回答