python問題請教:大佬們 AttributeError: 'int' object has no attribute 'save_bullet'
coding=utf-8
class Person(object):
“”“人的類”“”
def init(self,name):
super(Person, self).init()
self.name = name
self.gun = None
self.hp = 100
def zhuang_dan(self,dan_jia,zi_dan): #dan_jia.save_bullet(zi_dan) dan_jia.save_bullet(zi_dan) def zhuang_dan_jia(self,gun,dan_jia): gun.save_dan_jia(dan_jia) def na_qiang(self,gun): self.gun = gun def fire(self,enemy): self.gun.fire_somebody(enemy) def diao_xue(self,sha_shang_li): self.hp -= sha_shang_li def __str__(self): if self.gun: return "%s的血量為%d, 有%s槍"%d(self.name,self.hp,self.gun) else: return "%s的血量為%d, 沒有槍"%d(self.name,self.hp)
class Gun(object):
“”“槍的類”“”
def init(self,name):
super(Gun, self).init()
self.name = name
self.dan_jia = None
def save_dan_jia(self,dan_jia):
self.dan_jia = dan_jia
def fire_somebody(self,enemy):
shot = self.dan_jia.fire_some()
shot.hit(enemy)
def __str__(self):
if self.dan_jia:
return "槍的資訊:%s,%s"%s(self.name,self.dan_jia)
else:
return "槍的資訊:%s, 沒有彈夾"%s(self.name)
class Dan_jia(object):
“”“彈夾類”“”
def init(self, max_bullet):
super(Dan_jia, self).init()
self.max_bullet = max_bullet
self.bullet_list = []
def save_bullet(self,zi_dan):
self.bullet_list.append(zi_dan)
def fire_some(self):
if self.bullet_list:
return self.bullet_list.pop()
else:
return None
class Zi_dan(object):
“”“子彈類”“”
def init(self, sha_shang_li):
super(Zi_dan, self).init()
self.sha_shang_li= sha_shang_li
def hit(self,enemy):
enemy.diao_xue(self.sha_shang_li)
def main():
”’
1.建立老王物件
2.建立槍物件
3.建立彈夾
4.建立子彈
5.彈夾裝子彈
6.彈夾裝槍
7.老王拿槍
8.建立敵人
9.開槍
”’
lao_wang = Person("老王")
AK = Gun("AK")
dan_jia_1 = (20)
zi_dan = Zi_dan(10)
lao_wang.zhuang_dan(dan_jia_1,zi_dan)
lao_wang.zhuang_dan_jia(AK,dan_jia_1)
lao_wang.na_qiang(AK)
lao_song = Person("老宋")
lao_wang.fire(lao_song)
print(lao_wang)
print(lao_wang)
if name == ‘main‘:
main()
/**************************************/
報錯如下:
Traceback (most recent call last):
File “lao_wang.py”, line 109, in
main()
File “lao_wang.py”, line 97, in main
lao_wang.zhuang_dan(dan_jia_1,zi_dan)
File “lao_wang.py”, line 12, in zhuang_dan
dan_jia.save_bullet(zi_dan)
AttributeError: ‘int’ object has no attribute ‘save_bullet’
Repl Closed