Python類的使用 老王開槍例子(多個類互通)

2021-10-04 18:38:10 字數 2516 閱讀 4022

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...