您可以在詞典中檢索數據很容易:
barcelonavsRealMadrid1goals["barcelonaGoal"]
但我要告訴你,我覺得你的數據結構將無法正常工作,你希望它的方式。例如,你不能將一個團隊的幾個目標放到字典中。
構建類爲您的數據和正確封裝。不要把「一切都放在一些東西上」,並建立在一些神奇的元素名稱上。瞭解你正在使用的概念。
我想讀一個良好的編程介紹可能被調用,然後雨燕編程指南進入腦海。
編輯
這裏是一個什麼樣的遊戲數據結構可能看起來像一個非常簡化例如:
class Game {
var team1 : String
var team2 : String
var minutesOfGoalsTeam1: [Int]
var minutesOfGoalsTeam2: [Int]
init(team1 t1 : String, team2 t2: String) {
team1 = t1
team2 = t2
minutesOfGoalsTeam1 = []
minutesOfGoalsTeam2 = []
}
func goalsTeam1() -> Int {
return minutesOfGoalsTeam1.count
}
func goalsTeam2() -> Int {
return minutesOfGoalsTeam2.count
}
func addGoal(team : String, minute : Int) {
if team == team1 {
minutesOfGoalsTeam1.append(minute)
}
if team == team2 {
minutesOfGoalsTeam2.append(minute)
}
}
func winner() -> String {
if goalsTeam1() > goalsTeam2() {
return team1
}
if goalsTeam2() > goalsTeam1() {
return team2
}
return "DRAW"
}
}
let game = Game(team1: "Barcelona", team2: "Madrid")
game.addGoal("Barcelona", minute: 5)
game.winner()
添加處罰被留作練習。這真的只是冰山的一角。有數百種方法可以做到這一點,我不認爲這是最好的方法。例如,可以考慮一個專門的團隊課程。或者使用一些帶有子類的遊戲事件類來實現目標和處罰,然後將這些事件添加到數組中並循環以獲取具體數據。
例如像。打印來自巴塞羅那的比賽,並且所有目標越大的1000 – Hunter
初始值,我不能在所有讓你的「數據結構」的任何意義。而「IF」是一個分支控制結構,而不是從字典中提取數據的東西。 – Eiko