我一直在使用gym-super-mario-bros库(https://github.com/Kautenja/gym-super-mario-bros)并且我试图更改寄存器的值以设置马里奥的位置到世界 1 中 1 级内的特定位置。
我尝试检查RAM信息映射(https://datacrystal.romhacking.net/wiki/Super_Mario_Bros.:RAM_map),但是如果我更改0x6d中的页面信息和页面内的位置(0x86),Mario在游戏开始时始终移动到 0 位置。在库代码中,我修改了
smb_env.py. 中
_x_position
函数内的值
在 NESEnv 类中,有一些函数用于保存模拟器的当前状态,另一个函数用于恢复它。 它们分别命名为 _backup 和 _restore。 你可以这样称呼它们:
env =gym_super_mario_bros.make(版本)
env.unwrapped._backup()
env.unwrapped._restore()
希望这有帮助!