Bonjour à tous et toutes ,
j'ai une énumération :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
enum Classe {
    case Guerrier(nomDuPerso: String,ptDeVie: Int)
    case Archer(nomDuPerso: String,ptDeVie: Int)
    case Mage(nomDuPerso: String,ptDeVie: Int)
}
Je veux m'en servir pour initialiser une classe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
class Personnage {
    var nom = ""
    var classe: Classe
    var arme: Arme
    var vie = 0
 
    init(arme: Arme,classe: Classe) {
        self.classe = classe
        self.arme = arme
    }
    func setDegat(hitPoints: Int) { self.vie += hitPoints }
    func affiche() {
        print("nom : \(self.nom)")
        print("points de vie : \(self.vie)")
        print("dégâts de l'arme : \(self.arme.getDegats())")
    }
}
Maintenant lorsque je fait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
var perso1 = Personnage(arme: Epee(), classe: .Guerrier(nomDuPerso: "Marcel",ptDeVie: 50))
perso1.affiche()
j'obtiens :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
nom : 
points de vie : 0
dégâts de l'arme : 20
Comment faire pour initialiser les variables "nom" et "vie" avec la variable "classe" ??