我有一个带有不同文件的游戏。在我的敌人档案中,我试图提供一个将物品添加到玩家清单中的功能。我不知道如何从其他文件中更改玩家的广告资源。
我已经将敌方文件链接到播放器文件,但是我无法访问播放器实例。 如果我重新定义播放器的新实例,则每次用户收集内容时进度都会重新启动。重新编码整个程序会更容易吗?
这是我的代码文件https://repl.it/@MineBrick/Life-RPG
Main.py
from player import Player
from Enemy import Enemy
player = Player()
enemy = Enemy()
player.test()
enemy.add_to_inventory()
print(player.inventory)
Player.py
class Player:
def __init__(self):
self.inventory = ['Dirt']
def test(self):
print('test')
Enemy.py
from player import Player
class Enemy:
def __init__(self):
Player.test()
def add_to_inventory(self):
Player.inventory.append('glass')
运行代码时,玩家的清单不会改变。
答案 0 :(得分:0)
要修改实例,您的代码需要了解它。首先修改Enemy.add_to_inventory()
以接受参数,然后使用您要修改的播放器实例进行调用。例如:
def add_to_inventory(self, other):
other.inventory.append('glass')
然后,在main.py
中:
player = Player()
enemy = Enemy()
enemy.add_to_inventory(player)