我正在尝试用python创建一个基于回合的rpg游戏。目前,我正在使用列表方法为每个角色显示和创建单独的值。例如,游戏允许玩家设置一组单位进行战斗(最少1个单位,默认为3个)。每个单位都有一个唯一的名称和属性,如生命点(HP)、攻击点(ATK)、防御点(DEF)、经验点(EXP)和等级(默认为1级)。 一个单位可以是一个战士,一辆坦克或者一个在ATK和DEF点上有不同力量的巫师。此外,一个巫师有特殊能力施放可以影响友军和敌军单位的法术(治疗、毒药、治疗、冻结)
每个单元属性点的建议初始值在A部分-游戏设置部分的需求详细信息中描述。 游戏将自动设置(1)玩家对人工智能(AI)或(2)双人模式,其中两个团队由相同数量的单位组成。 对于AI团队,单位类型将随机分配或通过特定AI算法分配。单位名称将由玩家指定,而AI单位名称可以用前缀+随机数(例如AI87)定义。对于双玩家模式,每个玩家都可以通过控制台或GUI进行相同的单元选择过程。 对于每个回合,玩家可以选择一个激活的友军单位(非冻结或死亡)对目标单位执行一个动作。严重损坏的单位(即HP等于或小于0)将被视为死亡(或标记为“死亡”)
如何使用面向对象编程方法为每个团队创建带有输入名称的3个字符(可以显示键入的名称和每个字符的信息),而不是使用列表方法
#Menu page
print('Welcome to PSB Battle Game! \n(N)ew game\n(S)ave game\n(Q)uit')
def main():
selection = input('Choose your option then hit <ENTER> ==> ')
if selection.upper() == 'N':
new_game()
elif selection.upper() == 'S':
print('Loading save game...')
pass
elif selection.upper() == 'Q':
print('Exit game...')
pass
else:
print("I don't understand what are you typing.")
return main()
def new_game():
print('\nSetting up Player 1 team...\n')
name_list = []
for unit_name in range(1,4):
print(f'Enter a unique name for unit #{unit_name}-> ', end='')
name = input('')
repeated = False
while repeated:
if name == "":
continue
repeated = True
if name in name_list:
print('\nUnit name must be unique.\n')
return new_game()
if not name.strip():
print('\nUnit name could not be blank.\n')
return new_game()
else:
print('Name looks good!')
name_list.append(name)
print(f'Select unit #{unit_name}, type: (W)arrior, (T)anker, or Wi(Z)ard ==> ', end='')
role = input('')
if role.upper() == 'W':
print('Added ' + str(name_list))
warrior()
elif role.upper() == 'T':
print('Added ' + str(name_list))
tanker()
elif role.upper() == 'Z':
print('Added ' + str(name_list))
wizard()
else:
print("I don't understand what are you typing.")
return role()
def warrior ():
charac = [1,50,8,3,0,'True','False','False']
print ('\nWarrior Level 1: ','HP =',charac[1],',''ATK =',charac[2],',''DEF =',charac[3],',''EXP =',charac[4],',''ALIVE =',charac[5],',''POISONED =',charac[6],',''FROZEN =',charac[7])
print ()
def tanker ():
charac = [1,60,5,5,0,'True','False','False']
print ('\nTanker Level 1: ','HP =',charac[1],',''ATK =',charac[2],',''DEF =',charac[3],',''EXP =',charac[4],',''ALIVE =',charac[5],',''POISONED =',charac[6],',''FROZEN =',charac[7])
print ()
def wizard ():
charac = [1,40,3,2,0,'True','False','False']
print ('\nWizard Level 1: ','HP =',charac[1],',''ATK =',charac[2],',''DEF =',charac[3],',''EXP =',charac[4],',''ALIVE =',charac[5],',''POISONED =',charac[6],',''FROZEN =',charac[7])
print ()
main()
你的游戏根本不起作用。在你设计了一款具有战斗功能和角色类的游戏后,我冒昧地建立了一个游戏的小草图。从这段代码中,您可以进一步包括其他功能,例如机会、移动、更改技能点和其他内容
相关问题 更多 >
编程相关推荐