我有一些代码,我希望它从列表中选择一个随机字符串并将其转换为要在joypad.set()函数中使用的数据类型。 这是我的代码:
Buttons = { A = true,
B = true,
Down = true}
while (true) do
Random = math.random(3)
NewButton = (Buttons[Random])
joypad.set(1, (NewButton))
emu.frameadvance();
end;
答案 0 :(得分:3)
您没有说明您的问题,但是从您的代码中看,您似乎没有从您期望的数组中获取值。您获得1到3之间的随机数,但A,B和Down 不 1,2和3.按钮是一种关联数组(键值对)的方式你声明它,所以如果你想以这种方式使用它,你需要设置一个只包含键名的第二个数组,并从中得到一个随机索引,如下所示:
ButtonKeys = { "A", "B", "Down" }
Random = math.random(3)
NewButton = (Buttons[ButtonKeys[Random]])
这将创建一个值为A,B和Down的表作为索引1,2和3,因此您使用随机数从ButtonKeys数组中获取值,然后使用该值作为索引按钮阵列。
编辑:我重新阅读了这个问题并重复了我的原始答案,并意识到我在想你以不同的方式宣布这个表格。声明表A,B和Down的方式成为按钮的属性,您可以通过直接调用它们来访问它们,如Buttons.A
,Buttons.B
和Buttons.C
,或使用括号使用您要访问的属性的字符串名称。在您的情况下,Buttons["A"]
,Buttons["B"]
和Buttons["Down"]
。