我想让矢量x的速度随机,最小-5和最大5.我每次运行游戏都会崩溃。 随机的问题,因为当我设置velX = 2或3它完美的工作,请帮助我。 (抱歉我的英文,我希望你理解我)
velX = random.nextInt(5 - -5) + -5;
答案 0 :(得分:0)
你可能想要这个:
velX = random.nextInt(10) - 5;
(生成一个随机int btw 0
和10
,然后减去5
,给你一个范围btw -5
(包括)和5
(独家)如果您希望5
也包含在内,请将nextInt()
参数更改为11
。
// do this only once, during initialization
List<Integer> values = new ArrayList<>();
values.add(-5);
values.addAll(Collections.nCopies(2, -4));
values.addAll(Collections.nCopies(3, -3));
values.addAll(Collections.nCopies(5, -2));
values.addAll(Collections.nCopies(8, -1));
values.addAll(Collections.nCopies(12, 0));
values.addAll(Collections.nCopies(8, 1));
values.addAll(Collections.nCopies(5, 2));
values.addAll(Collections.nCopies(3, 3));
values.addAll(Collections.nCopies(2, 4));
values.add(5);
// do this every time
velX = values.get(random.nextInt(values.size()));