我正在嘗試爲幾個朋友創建一個足球比賽程序。我目前有一個類來實例化團隊,我正在編寫匹配實例化類。如何涉及來自不同類的兩個實例,python 2
我目前擁有的是:
class Team(object):
def __init__(self, name, games=0, points=0, goals=0, wins=0, loses=0):
self.name = name
self.points = points
self.games = games
self.goals = goals
self.wins = wins
self.loses = loses
def win(self):
self.points += 3
self.wins += 1
self.games += 1
def lose(self):
self.points += 1
self.loses += 1
self.games += 1
def ratio(self):
print "(Wins/Loses/Games)\n ", self.wins, "/", self.loses, "/", self.games
class Match(object):
def __init__(self, teamagoals, teambgoals):
self.teamagoals = teamagoals
self.teambgoals = teambgoals
def playgame(teama, teamb):
#conditional statements which will decide who wins
alpha = Team("George's Team")
beta = Team("Josh's Team")
gamma = Team("Fred's Team")
在這一點上我碰到如何去這樣做的問題。按照我的問題,我試圖在Match()類中涉及團隊類的兩個實例。例如,我想在Match()中調用一個函數,並指定團隊Alpha和團隊Gamma相互對抗,然後在他們贏或輸時修改他們的實例相應的點,遊戲等值。
我能做到這一點的方式是什麼?是否可以通過將所有Team()實例放入列表中,然後將該列表導入到Match()類中?或者還有其他更優雅的方式嗎?請幫忙。
部分回答:您可以通過比較簡單的方式更新團隊實例。例如,'alpha.wins + = 1'。 – Windmill
但是我應該怎麼做呢?因爲我不想在每次團隊獲勝時都必須進行硬編碼,這會在代碼中失敗。 –