1

私は次のクラスを持っています:

class Player(object):
    def __init__(self, name, age):
        self.name = name
        self.age = age

class(Lobby)プレイヤーを含む があります。クラスには、各プレーヤーの追加の属性が必要です。たとえば、idle時間:

class Lobby(object):
    def __init__(self, players):
        self.players = players
        for player in players:
            player.idle = 0

class(Game) このクラスには、各プレイヤーに追加の属性が必要です。たとえば、team属性

class Game(object):
    def __init__(self, players):
        self.players = players
        self.organize_teams();

    def organize_teams(self):
        for player in self.players:
            if condition1:
                player.team = 0
            elif condition2:
                player.team = 1
            elif condition3:
                player.team = 2

問題は、プレーヤーの追加属性が特定のクラスにのみ関連していることです。そこで、別の方法を考えました。

たとえば、Lobby クラス:

class Lobby(object):
    def __init__(self, players):
        self.players = {}
        for player in players:
            self.players[player] = {idle: 0}

それは良い習慣ですか?

4

1 に答える 1