class
ren:
def__init__
(self)
: self.xueliang=
100 self.qiang=
none
def__str__
(self)
: msg=
"當前血量為:{}"
.format
(self.xueliang)
return msg
defanzidan
(self,danjia,zidan)
: danjia.baocunzidan(zidan)
defandanjia
(self,qiang,danjia)
: qiang.lianjiedanjia(danjia)
defnaqiang
(self,qiang)
:if self.qiang:
print
("手裡已有槍"
)else
: self.qiang=qiang
defkaiqiang
(self,diren)
: self.qiang.she(diren)
defdiaoxue
(self,weili)
: self.xueliang-=weili
class
qiang
:def
__init__
(self)
: self.danjia=
none
def__str__
(self)
:if self.danjia:
msg=
"當前槍中有彈夾"
else
: msg=
"當前槍中沒有彈夾"
return msg
deflianjiedanjia
(self,danjia)
:if self.danjia:
print
("槍中已有彈夾!"
)else
: self.danjia=danjia
defshe(self,diren)
: zidan=self.danjia.tanchuzidan(
)if zidan:
zidan.shanghai(diren)
class
danjia
:def
__init__
(self,rongliang)
: self.rongliang=rongliang
self.rongna=
def__str__
(self)
: msg=
"當前彈夾中有子彈:{}/{}"
.format
(len
(self.rongna)
,self.rongliang)
return msg
defbaocunzidan
(self,zidan)
:if self.rongliang-
len(self.rongna)
>0:
else
:print
("彈夾已滿!"
)def
tanchuzidan
(self):if
len(self.rongna)
>0:
zidan=self.rongna[-1
] self.rongna.pop(
)return zidan
else
:print
("目前彈夾中沒有子彈"
)class
zidan
:def
__init__
(self,weili)
: self.weili=weili
def__str__
(self)
: msg=
"該子彈的威力為:{}"
.format
(self.weili)
return msg
defshanghai
(self,diren)
: diren.diaoxue(self.weili)
laowang=ren(
)qiang=qiang(
)danjia=danjia(20)
zidan=zidan(5)
laowang.anzidan(danjia,zidan)
laowang.andanjia(qiang,danjia)
laowang.naqiang(qiang)
diren=ren(
)laowang.kaiqiang(diren)
Python 之 老王開槍 練習
知識點 這篇部落格是對前面python基礎的乙個複習,更應該學到的是如何設計一系列的動作,或者說是設計程式 1.分析有哪些類,並且建立 人 槍 彈夾 子彈 2.物件的建立 3.各個類的屬性設定 4.類的方法設計,由里向外 1 人拿槍 eg 1彈夾裝子彈 2 槍裝彈夾 3.人拿槍 2 人開槍 eg.1...
Python案例練習 老王開槍
import time class person object 人的類 def init self,name super person,self init self.name name 記錄人的名字 self.gun none 預設人是沒有槍的 self.hp 100 預設人的血量100 defan...
Python案例練習 老王開槍
import time class person object 人的類 def init self,name super person,self init self.name name 記錄人的名字 self.gun none 預設人是沒有槍的 self.hp 100 預設人的血量100 defan...