DoctorRynerNew

Untitled

Nov 25th, 2019
335
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 0.97 KB | None | 0 0
  1.  
  2. enum Team {
  3.     case Blue
  4.     case Red
  5.     case Neutral
  6. }
  7.  
  8. struct Character {
  9.     let name: String
  10.       , level: Int
  11.       , hp: Float
  12.       , mp: Float
  13.       , attackPower: Float
  14.       , magicPower: Float
  15.       , owner: Team
  16.    
  17.     func attack (victim: Character) -> Character {
  18.         return Character (
  19.             victim,
  20.             hp: victim.hp - attackPower // The Sole difference
  21.         )
  22.     }
  23.    
  24.     init (
  25.         _ s: Character,
  26.         name: String? = nil,
  27.         level: Int? = nil,
  28.         hp: Float? = nil,
  29.         mp: Float? = nil,
  30.         attackPower: Float? = nil,
  31.         magicPower: Float? = nil,
  32.         owner: Team? = nil
  33.     ) {
  34.         self.name = name ?? s.name
  35.         self.level = level ?? s.level
  36.         self.hp = hp ?? s.hp
  37.         self.mp = mp ?? s.mp
  38.         self.attackPower = attackPower ?? s.attackPower
  39.         self.magicPower = magicPower ?? s.magicPower
  40.         self.owner = owner ?? s.owner
  41.     }
  42. }
Add Comment
Please, Sign In to add comment