クラスとインスタンスについて学習したので、「名前(name)」「体力(hp)」「防御力(df)」の3変数を持ち、値を表示するというクラスを作りました。
#####作りたい物
任意のインスタンスのhpとdfに数を足して表示したい
書いてみたこと
インスタンス名を受け取り、インスタンス名.hpに+100,インスタンス名.dfに+50して表示する関数という形で書いてみました。よろしくお願いします。
下がエラーメッセージです。
swift
1class Monster { 2 var name: String! 3 var hp: Int! 4 var df: Int! 5 func display() { 6 print("(name!)が現れた") 7 print("HP:(hp!)") 8 print("DF:(df!)") 9 } 10} 11let Monster1 = Monster() 12Monster1.name = "slime" 13Monster1.hp = 50 14Monster1.df = 100 15Monster1.display() 16 17let Monster2 = Monster() 18Monster2.name = "killerMachine" 19Monster2.hp = 200 20Monster2.df = 100 21Monster2.display() 22 23func Evolution (monsterNumber: String){ 24 monsterNumber.hp += 100 25 monsterNumber.df += 50 26 print("(monsterNumber.name!)が進化した") 27 print("HP:(monsterNumber.hp!)") 28 print("DF:(monsterNumber.df!)") 29} 30Evolution(monsterNumber: Monster1) 31
Error
1Playground execution failed: 2 3error: TestField.playground:30:26: error: cannot convert value of type 'Monster' to expected argument type 'String' 4Evolution(monsterNumber: Monster1) 5 ^ 6 7error: TestField.playground:24:19: error: value of type 'String' has no member 'hp' 8 monsterNumber.hp += 100 9 ~~~~~~~~~~~~~ ^~ 10 11error: TestField.playground:25:19: error: value of type 'String' has no member 'df' 12 monsterNumber.df += 50 13 ~~~~~~~~~~~~~ ^~ 14 15error: TestField.playground:26:28: error: value of type 'String' has no member 'name' 16 print("(monsterNumber.name!)が進化した") 17 18error: TestField.playground:27:31: error: value of type 'String' has no member 'hp' 19 print("HP:(monsterNumber.hp!)") 20 ~~~~~~~~~~~~~ ^~ 21 22error: TestField.playground:28:31: error: value of type 'String' has no member 'df' 23 print("DF:(monsterNumber.df!)") 24 ~~~~~~~~~~~~~ ^~
回答1件
あなたの回答
tips
プレビュー