0

Pythonバージョン3.3(Aptana IDE付き)

私は仕事で暇なときに自分でPythonを教えているので、友達と一緒にプレイするポーカーゲームを再現することにしました。さまざまな関数へのさまざまな呼び出しを容易にするために、2つのオブジェクトを作成しました。1つのオブジェクトにはゲーム全体のデータGameDataが含まれ、2番目のオブジェクトにはGameDataに追加しようとしている単一のプレーヤーPlayerが含まれています。

以下のコードはループしてGameDataのリストにPlayerを追加しようとしますが、次のようなエラーが発生します。

AttributeError:タイプオブジェクト'GameData'には属性'players'がありません

class Player(object):
    def __init__(self, seat):
        self.seat = seat
        self.chips = 0
        self.wins = 0
        self.card = 0
        self.isDealer = False

class GameData(object):
    def __init__(self):
        self.games = 0
        self.numPlayers = 0
        self.chips = 0
        self.players = []
        self.deck = []

以下の関数はエラーをスローします

def testDealCards():
    gd = nuts.GameData #declare GameData object
    gd.deck = [7,5,5,5,3,1,5,6,1,2] #assign values to deck list
    for x in range(2): #loop to create player objects in GameData
        gd.players.append(Player)
    gd.players[0].isDealer = True
    gd.players[1].isDealer = False
    print(gd.players)
    nuts.dealCards(gd)
    assert gd.players[0].card == 5
    assert gd.players[1].card == 7
    pass
4

1 に答える 1

1

GameDataオブジェクトを作成する代わりに、クラス タイプにアクセスしています。

これを試して:

gd = nuts.GameData()
于 2013-03-13T21:38:09.690 に答える