使用随机结果中的相同值

时间:2017-05-10 10:57:05

标签: java minecraft

目前我的代码在某个部分获取了我的配置中的所有值,然后我从列表中随机选择了其他内容。我通过getRandomStringFromList(getLocationList())获得随机结果。所以,我这样使用它,

p.teleport(new Location(Bukkit.getWorld("world"), 
    plugin.getConfig().getInt("locations." + plugin.getRandomStringFromList(plugin.getLocationList()) + ".x"), 
    plugin.getConfig().getInt("locations." + plugin.getRandomStringFromList(plugin.getLocationList()) + ".y"), 
    plugin.getConfig().getInt("locations." + plugin.getRandomStringFromList(plugin.getLocationList()) + ".z"))
);

然而,这有一些问题。而不是使用相同的结果,它为所有3得到一个不同的随机。我需要它们全部使用第三个结果,我该怎么做?

2 个答案:

答案 0 :(得分:1)

将随机String存储在局部变量中,并在String randomString = plugin.getRandomStringFromList(plugin.getLocationList()); p.teleport(new Location(Bukkit.getWorld("world"), plugin.getConfig().getInt("locations." + randomString + ".x"), plugin.getConfig().getInt("locations." + randomString + ".y"), plugin.getConfig().getInt("locations." + randomString + ".z"))); 中使用它。代码看起来像这样:

.global _start

_start:
    mov r7, #4
    mov r0, #1
    ldr r1,=string
    mov r2, #12
    swi 0
    mov r7, #1
    swi 0

.data
string:
  .ascii "Hello, World"

答案 1 :(得分:0)

这是因为您正在随机化"获取位置"在同一行的3个不同实例上

您可以做的是保存第一个实例的结果并重复使用

var location = plugin.getRandomStringFromList(plugin.getLocationList());

p.teleport(new Location(Bukkit.getWorld("world"), 

plugin.getConfig().getInt("locations." + location + ".x"), 
plugin.getConfig().getInt("locations." + location + ".y"), 
plugin.getConfig().getInt("locations." + location + ".z")));