我尝试做类似于Mari/o的事情,但使用不同的AI原则和技术。
但是,我无法弄清楚如何将输入从Lua脚本实际发送到模拟器(例如,从左上方向左上方等)。
我试图弄清楚写作Mari / o的人是如何在他的剧本中做到的,但是我试图弄清楚它是如何运作的。
那么,有人可以向我解释一下NES仿真器的映射输入是如何工作的吗?
到目前为止代码..(这是使用FCEUX仿真器)
inputTable = joypad.read(1);
for k, v in pairs (inputTable) do
if(k == "right") then
v = true;
end;
print(k, v);
end;
while (true) do
joypad.set(1, inputTable);
joypad.write(1, inputTable);
emu.frameadvance();
end;
但是,我不认为joypad.set或joypad.write对于设置输入是正确的,因为他们似乎除了覆盖播放器输入之外什么都不做。
答案 0 :(得分:1)
你实际上并没有在这里任何时候分配到`inputTable。
变量v
是for
循环中的本地变量。它不是指针/引用/等。到表中的值。
要分配到表格,您需要在循环中实际分配给inputTable[k]
。