面向對象小練習


基於面向對象設計一個對戰游戲

定義銳雯類:

class Riven:
    camp='Noxus'
    def __init__(self,nickname, aggressivity=54, life_value=414, money=1001, armor=3): self.nickname=nickname self.aggressivity=aggressivity self.life_value=life_value self.money=money self.armor=armor def attack(self,enemy): damage_value=self.aggressivity-enemy.armor enemy.life_value-=damage_value

 

定義蓋文類:

class Garen:
    camp='Demacia'
    def __init__(self,nickname, aggressivity=58, life_value=455, money=100, armor=10): self.nickname=nickname self.aggressivity=aggressivity self.life_value=life_value self.money=money self.armor=armor def attack(self,enemy): damage_value=self.aggressivity-enemy.armor enemy.life_value-=damage_value

 

定義裝備:

class BlackCleaver:
    def __init__(self,price=475,aggrev=9,life_value=100): self.price=price self.aggrev=aggrev self.life_value=life_value def update(self,obj): obj.money-=self.price #減錢 obj.aggressivity+=self.aggrev #加攻擊 obj.life_value+=self.life_value #加生命值 def fire(self,obj): #這是該裝備的主動技能,噴火,燒死對方 obj.life_value-=1000 #假設火燒的攻擊力是1000

 

測試交互

r1=Riven('草叢倫')
g1=Garen('蓋文') b1=BlackCleaver() print(r1.aggressivity,r1.life_value,r1.money) #r1的攻擊力,生命值,護甲 if r1.money > b1.price: r1.b1=b1 b1.update(r1) print(r1.aggressivity,r1.life_value,r1.money) #r1的攻擊力,生命值,護甲 print(g1.life_value) r1.attack(g1) #普通攻擊 print(g1.life_value) r1.b1.fire(g1) #用裝備攻擊 print(g1.life_value) #g1的生命值小於0就死了 

按照這種思路一點一點的設計類和對象,最終你完全可以實現一個對戰類游戲。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM