编辑代码

//20190401031杨小可
//练习6
struct BasketballPlayer {
    var name: String
    var threePointShot: Int
    var twoPointShot: Int
    var score: Int {
        get {
            return 2*twoPointShot+3*threePointShot
        }
    }
}

class BasketballTeam {
    var name: String
    var players: [BasketballPlayer]
    var score: Int {
        get {
            var sum = 0
            for player in players {
                sum += player.score
            }
            return sum
        }
        
    }
    func addNewPlayer(newPlayer: BasketballPlayer) {
        players.append(newPlayer)
    }
    init(name: String) {
        self.name = name
        players = []
    }
    subscript(index: Int) -> BasketballPlayer {
        get {
            return players[index]
        }
        set {
            players[index] = newValue
        }
    }
}

var player1 = BasketballPlayer(name: "YaoMing", threePointShot: 1, twoPointShot: 15)
var player2 = BasketballPlayer(name: "McGrady", threePointShot: 9, twoPointShot: 12)
var player3 = BasketballPlayer(name: "Alston", threePointShot: 3, twoPointShot: 3)

var houstonRocket = BasketballTeam(name: "Houston Rocket")
houstonRocket.addNewPlayer(newPlayer: player1)
houstonRocket.addNewPlayer(newPlayer: player2)
houstonRocket.addNewPlayer(newPlayer: player3)

houstonRocket[0] = player3
houstonRocket[2] = player1

print("Total score of \(houstonRocket.name) is \(houstonRocket.score)")
print("Each player's score is:")
for i in 0...(houstonRocket.players.count-1) {
    let name = houstonRocket[i].name
    let score = houstonRocket[i].score
    print("\(name) score is \(score)")
}