我是python和编程新手,我正在尝试制作一个基于文本的rpg,迄今为止我从中学到了很多,我只是想了解更多:)
我有一些对象(可能添加到战斗中的怪物),基于上面NPC的类,分配给一些变量
goblin = Monsters('Goblin', 10, 10, 0, 0, 0, 0, 0, 'melee', 1, 0, 0, 1)
bear = Monsters('Bear', 15, 15, 0, 0, 2, 0, 0, 'melee', 2, 0, 0, 2)
boar = Monsters('Boar', 10, 10, 0, 0, 1, 0, 0, 'melee', 1, 0, 0, 1)
wolf = Monsters('Wolf', 15, 15, 0, 0, 2, 0, 0, 'melee', 2, 0, 0, 2)
kobold = Monsters('Kobold', 10, 10, 0, 0, 0, 0, 0, 'caster', 1, 0, 0, 3)
sprite = Monsters('Sprite', 10, 10, 10, 10, 0, 0, 2, 'support', 2, 0, 0, 3)
我把它们加入一个列表
easyBattleMonsters = [goblin, bear, boar, wolf, kobold, sprite]
我有一个功能,这可能很糟糕,但我是新来的,所以我想我是这样做的,在一场战斗中,根据玩家的等级,这将增加5个怪物
def easyBattle():
if playerCharacter.level < 6:
easyBattle.easyMobOne = []
easyMobLevel = []
easyMobLevelSum = sum(easyMobLevel)
easyBattle.easyMonsterOne = random.choice(easyBattleMonsters)
easyBattle.easyMobOne.append(easyBattle.easyMonsterOne.name)
easyMobLevel.append(easyBattle.easyMonsterOne.level)
easyMobLevelSum = sum(easyMobLevel)
if easyMobLevelSum < playerCharacter.level:
easyMonsterTwo = random.choice(easyBattleMonsters)
easyBattle.easyMobOne.append(easyMonsterTwo.name)
easyMobLevel.append(easyMonsterTwo.level)
easyMobLevelSum = sum(easyMobLevel)
if easyMobLevelSum < playerCharacter.level:
easyMonsterThree = random.choice(easyBattleMonsters)
easyBattle.easyMobOne.append(easyMonsterThree.name)
easyMobLevel.append(easyMonsterThree.level)
easyMobLevelSum = sum(easyMobLevel)
if easyMobLevelSum < playerCharacter.level:
easyMonsterFour = random.choice(easyBattleMonsters)
easyBattle.easyMobOne.append(easyMonsterFour.name)
easyMobLevel.append(easyMonsterFour.level)
easyMobLevelSum = sum(easyMobLevel)
if easyMobLevelSum < playerCharacter.level:
easyMonsterFive = random.choice(easyBattleMonsters)
easyBattle.easyMobOne.append(easyMonsterFive.name)
easyMobLevel.append(easyMonsterFive.level)
easyMobLevelSum = sum(easyMobLevel)
easyMobLevelSum = sum(easyMobLevel)
我觉得我上面的代码是我需要更改的,但不确定我应该做什么,我希望能够根据我添加到easyBattle.easyMobOne的内容实例化一个临时对象列表。比如,当它导入一只狼时,会变成一个新的“怪物1”,名字来自于这个对象,他们可以攻击它并杀死它,而不会影响狼的原始对象。然后,当他们完成这场战斗后,他们就失去了他们正在战斗的变量,他们可以开始另一场战斗并拥有新的怪物。我只想让他们有多种选择来攻击,他们都有自己的数据,但不确定目前最好的方式
为了扩展我的评论,您可能需要对事物进行建模,以便所有怪物都有一个基类,以及其中各种各样的怪物子类,单个怪物(Goblin 1、Goblin 2等)就是这些类的实例。这是一个相当简单的实现(相当简单,因为我忍不住添加了一个名称生成器…)
希望这能对事情有所启发
运行此程序,您将看到如下内容
相关问题 更多 >
编程相关推荐