I figure out a problem when I try to call a function in my class.
I get an error :
Variable 'team' used before being initialized
I didn't understand why 'cause I respect the class initialization according to the two-phase process.
Teams.swift
class Team {
var number: Int
var personages: [CharacterC]
var playerName: String
var isOver: Bool {
var numberOfDeadPersonages = 0
for perso in personages where perso.isdead {
numberOfDeadPersonages += 1
}
return numberOfDeadPersonages == personages.count
}
init(number: Int, personages: [CharacterC], playerName: String) {
self.number = number
self.personages = personages
self.playerName = playerName
}
func createTeams() {
/ Creation of each team /
print("Let's get started, create the two teams which will compete")
game = Game(team1: createNewTeam(number: 1), team2: createNewTeam(number: 2))
/ Creation of character of the team n°1 /
print("\(game.team1.playerName), I'm pretty sure you can set up the best team let's figure it out")
for personnageNumber in 1...3 {
game.team1.personages.append(createNewPersonage(number: personnageNumber, inGame: game))
}
/ Creation of character of the team n°2 /
print("\(game.team2.playerName), use your advantage wisely, you can counter him")
for personnageNumber in 1...3 {
game.team2.personages.append(createNewPersonage(number: personnageNumber, inGame: game))
}
print("Now that the teams are set up, you're only goal is to defeat the ennemy team, good luck")
}
main.swift
var game: Game
var team: Team
createTeams()
gameOver()
Any idea guys ?