基于文本的Python RPG存储武器
我是编程新手,我正在自学Python,作为一种爱好,我正在制作一个基于文本的RPG 我的问题是,;我想储存一份武器、盔甲等的清单,可以很容易地编辑,而不会破坏我的整个程序。我的想法是为它们创建一个单独的模块基于文本的Python RPG存储武器,python,coding-style,python-2.7,Python,Coding Style,Python 2.7,我是编程新手,我正在自学Python,作为一种爱好,我正在制作一个基于文本的RPG 我的问题是,;我想储存一份武器、盔甲等的清单,可以很容易地编辑,而不会破坏我的整个程序。我的想法是为它们创建一个单独的模块equipment.py,并将它们存储在如下列表中: equipment = [ #Longsword w1 = 15 #Axe w2 = 17 ] 我只需要导入这个,并使用分配给它们的值,这些值将用于我决定创建的任何战斗引擎。这是正确的吗?糟糕的编码惯例?我有很多东西要学,非常感谢你分享
equipment.py
,并将它们存储在如下列表中:
equipment = [
#Longsword
w1 = 15
#Axe
w2 = 17
]
我只需要导入这个,并使用分配给它们的值,这些值将用于我决定创建的任何战斗引擎。这是正确的吗?糟糕的编码惯例?我有很多东西要学,非常感谢你分享我的智慧
编辑:从下面的优秀答案开始,我开始编写代码,我的代码看起来怎么样
equipment = {
'Longsword': { 'cost': 50,
'damage': 19,
'element': 'physical',
'description': 'Long steel blade used by the knights of Coamrin. The weight allows it to cleave foes with relative ease.'}
'Estoc': { 'cost': 45,
'damage': 17,
'element': 'physical',
'description': 'Expertly crafted thin, steel blade designed for thrust and swiping motions.'}
}
有什么建议吗?我已经通读了一遍,但是我的知识还不够好,或者在这个特定的案例中没有什么具体的帮助我建议最好使用python字典(而不是列表)
equipment = {
'Longsword': 15,
'Axe': 17
}
这样,您就可以将longswords值引用为设备['Longsword']
,而不是根据其在列表设备[0]
中的位置
把它放在一个单独的模块中可能是个好主意,也许放在一个包含攻击/防御功能和其他效果的模块中
您可能感兴趣的另一个建议(取决于RPG的功能)是为该属性和其他属性创建另一个字典,以便将来可以添加其他属性。就是
equipment = {
'Longsword': {'attack_str': 15, 'defence_str': 15, 'color': 'grey',... etc.}
}
这允许以后添加其他功能(而不破坏以前的机制)。我建议最好使用python字典(而不是列表)
equipment = {
'Longsword': 15,
'Axe': 17
}
这样,您就可以将longswords值引用为设备['Longsword']
,而不是根据其在列表设备[0]
中的位置
把它放在一个单独的模块中可能是个好主意,也许放在一个包含攻击/防御功能和其他效果的模块中
您可能感兴趣的另一个建议(取决于RPG的功能)是为该属性和其他属性创建另一个字典,以便将来可以添加其他属性。就是
equipment = {
'Longsword': {'attack_str': 15, 'defence_str': 15, 'color': 'grey',... etc.}
}
这允许以后添加额外的功能(而不破坏以前的机制)。在我看来,您最好将这些值存储在python之外的配置文件中 例如,它的语法即使对于不懂任何编程语言的用户也是可读的
这也使得在游戏中编辑武器成为可能,并进行永久性更改。实际上,通过使用字典方法,您需要更改程序正在运行的文件,这是我尽量避免的。在我看来,您最好将这些值存储在python之外的配置文件中 例如,它的语法即使对于不懂任何编程语言的用户也是可读的
这也使得在游戏中编辑武器成为可能,并进行永久性更改。实际上,通过使用字典方法,您需要更改程序正在运行的文件,这是我尽量避免的。这非常有用!我现在正在编写代码,这是迄今为止我最头疼的事情。所以我为字典里的一个项目编了一本字典?我不知道我能做到这一点。我是一个快乐的程序员!你帮了大忙!这非常有帮助!我现在正在编写代码,这是迄今为止我最头疼的事情。所以我为字典里的一个项目编了一本字典?我不知道我能做到这一点。我是一个快乐的程序员!你帮了大忙!RPG标签指的是最初由IBM开发的报表程序生成语言,当角色扮演游戏完全意味着其他东西的时候。RPG标签指的是最初由IBM开发的报表程序生成语言,当角色扮演游戏完全意味着其他东西的时候。我将其作为书签进行研究,这似乎有点超出了我目前的范围,但谢谢你的智慧!我把它记在书签里是为了学习,现在似乎有点超出了我的范围,但谢谢你的智慧!