Slide 13
Slide 13 text
ςΩετ
࣮ࡍͷίʔυ
// structͷఆٛ
struct Pokemon {
let name: String
let ability: Ability
var level: Int
var health: Int
func displayStatus() {
print("name: \(self.name)")
print("Lv: \(self.level)")
print("HP: \(self.health)")
}
// mutating Λ͚ͭΔ͜ͱͰ
// ͜ͷϝιουͷதͰͷΈpropertyΛॻ͖͑Մೳ
mutating func takeDamage(from ability: Ability) {
self.health -= ability.damage
}
}
// ΠϯελϯεԽ
let ability = Ability(name: "ϘϧοςΧʔ", damage: 120)
let ability2 = Ability(name: "΅͏;͏", damage: 120)
// Մมʹ͍ͨ͠StructvarͰఆٛ͢Δ
var pikachu = Pokemon(name: "ϐΧνϡ", ability: ability, level: 100, health: 200)
var pidgey = Pokemon(name: "ϙοϙ", ability: ability2, level: 100, health: 200)
pidgey.takeDamage(from: pikachu.ability)