- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
为了在一次严重的髋关节事故后帮助进行一些心理康复,我决定尝试自学 Python 编程。所以我刚刚开始着手定义函数和类。
我有一个基本的敌人类,允许我创建这样的对象。
enemy01=Enemy("Goblin",10,100,2,5,1,2)
要获取我可以使用的敌人名称
foe=enemy01.get_enemyName()
我的问题是我想使用一个敌人列表,当他们被杀死时我会添加这些敌人,而变量“foe”指的是游戏中的任何敌人。
所以我尝试创建一个敌人对象列表,比如
currentEnemy=[enemy01, enemy02, enemy03]
做
foe=currentEnemy.....
但我不知道如何附加 .get_enemyName()
我正在尝试这样的事情来连接它
foe=(currentEnemy, ".get_enemyName()")
但是,当我键入“print(foe)”时,我正在尝试的任何操作都不起作用,而这正是代码主体中的内容。
我尝试过在线搜索和此处搜索,但作为初学者很难用语言表达我正在尝试做的事情。也许我只是以错误的方式开始。
我希望我说得有道理,感谢阅读 :)西蒙
最佳答案
您似乎将所有敌人的列表和一个指向特定敌人的变量混为一谈。
以下是您可以执行的操作:
enemies = [enemy01, enemy02, enemy03]
for currentEnemy in enemies:
eName = currentEnemy.get_enemyName()
print('The current enemy is', eName)
稍后您可能会认为创建单独的敌人太乏味并为此使用另一个循环:
# create three identical goblins
enemies = [Enemy("Goblin",10,100,2,5,1,2) for _ in range(3)]
关于python - 对象、列表和我老化的大脑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48842212/
使用 NetLogo 5.3.1,我尝试设置BehaviorSpace,以便其所有模型运行在完全相同的 500 个刻度预热期之后开始。然而,结果对我来说并不直观。 出于说明目的,我将使用模型库中的
使用 NetLogo 5.3.1,我尝试设置BehaviorSpace,以便其所有模型运行在完全相同的 500 个刻度预热期之后开始。然而,结果对我来说并不直观。 出于说明目的,我将使用模型库中的
Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。 想改善这个问题吗?更新问题,以使为on-topic。 6
我是一名优秀的程序员,十分优秀!