面向物件的程式設計 面向物件小練習
阿新 • • 發佈:2019-01-12
面向物件小練習
閱讀目錄
基於面向物件設計一個對戰遊戲
定義銳雯類:
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就死了
按照這種思路一點一點的設計類和物件,最終你完全可以實現一個對戰類遊戲。
閱讀目錄
基於面向物件設計一個對戰遊戲
定義銳雯類:
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就死了
按照這種思路一點一點的設計類和物件,最終你完全可以實現一個對戰類遊戲。