python基础学习-老王开枪

#初识python,终于自己把老王开枪这个案例逻辑梳理了一遍,写的不好,欢迎探讨

class Person(object):
def init(self,new_name,hp):
self.name = new_name
self.hp =100
self.gun = None
def str(self):
return “这个名字是%s”%self.name
def anzhuang_zidan(self,danjia_temp,zidan_temp):
danjia_temp.baocun_zidan(zidan_temp)
def anzhaung_danjia(self,gun_temp,danjia_temp):
gun_temp.baocun_danjia(danjia_temp)
def naqiang_temp(self,gun_temp):
self.gun = gun_temp
def kaiqiang_temp(self,diren):
self.gun.fire(diren)
def diaoxue_temp(self,low_shashangli):
self.hp -= low_shashangli

class Gun(object):
def init(self,new_name):
self.name = new_name
self.danjia_temp = None
def anzhuang_danjia(self,danjia_temp):
self.danjia_temp(danjia_temp)
def fire(self,diren):
self.danjia_temp.tanchu_temp(diren)
class Danjia(object):
def init(self,max_total):
self.max = max_total
self.zidan_list =[]
def baochun(self,zidan_temp):
self.zidan_list.append(zidan_temp)
def tanchu_temp(self,diren):
if self.zidan_list:
self.zidan_list.pop()
else:
print (“弹夹中没有子弹…….”)

class Zidan(object):
def init(self,low_shanghai):
self.shanghai = low_shanghai
def dazhong_temp(self,diren):
diren.diaoxue(self.shanghai)
def main():
#设计一个人
lw = Person(“laow”)
#设计一把枪
ak47 = Gun(“AK47”)
#设计一个弹夹
danjia = Danjia(30)
#设计子弹
zidan = Zidan(30)
#人把子弹安装到弹夹
lw.anzhuang_danjia(danjia,zidan)
#人把弹夹安装到枪中
lw.anzhuang_danjia(ak47,danjia)
#人开枪打路人
# (1.人拿起枪,2,扣扳机,枪开火 3,弹夹弹出一颗子弹 4,子弹射中敌人 5,敌人掉血)
lw.kaiqiang_temp(diren)

猜你喜欢

转载自blog.csdn.net/frank_ldw/article/details/80178718