2016-07-24 90 views
2

假設我有這個貓類,我做了它的2個實例。我想貓可以攻擊對方如何通過對象/類作爲函數的參數

class ninjaCat { 
    var health : Double = 100.00 
    var attack = Double() 

    init(attack : Double){ 
     self.attack = attack 
    } 

    func thunderClaw(otherCat : ninjaCat){ 
     health = otherCat.health 
     otherCat.health = health - self.attack 
    } 
} 

var NinjaCat1 = ninjaCat(10.60) 
var NinjaCat2 = ninjaCat(20.15) 

NinjaCat1.thunderClaw(NinjaCat2) 

它是更多鈔票來傳遞類對象作爲函數參數?

+0

什麼你運行這段代碼時看到錯誤嗎? – ganesshkumar

+0

爲什麼你要給''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''self.attack = attack'', – Alexander

回答

1

確實可能。然而,你應該因爲你的使用,而不是目標的攻擊貓的當前生命來計算的剩餘壽命有檢查你的代碼:

func thunderClaw(otherCat : ninjaCat){ 
    otherCat.health = health - self.attack 
} 

應該

func thunderClaw(otherCat : ninjaCat){ 
    otherCat.health = otherCat.health - self.attack 
} 

或者乾脆

func thunderClaw(otherCat : ninjaCat){ 
    otherCat.health -= self.attack 
} 
相關問題