我试图做一些类似于Mari/o所做的事情,但是使用不同的人工智能原理和技术。
但是,我很难弄清楚如何将输入从Lua脚本实际发送到模拟器(例如,向左向右发送a、b等)。
我想弄清楚写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设置输入是正确的,因为他们似乎除了覆盖播放器输入之外什么也不做。
发布于 2016-05-04 01:18:42
在这里的任何一点上,您实际上都没有分配到“`inputTable”。
变量v是for循环中的一个本地变量。它不是指向表中值的指针/引用/等等。
要将表赋值给表,需要在循环中实际分配给inputTable[k]。
https://stackoverflow.com/questions/37015949
复制相似问题