0
私は4つのボードゲームを接続するためのGUIコードを作成しようとしていますが、エラーを修正する方法がわかりません。誰も助けることができますか?エラー: はTypeError:のinit(1つの)必要な位置引数不足している: 'buttns_list'必要なポジション引数ボードゲームがありません
コード:
def __init__(self):
self.mw = tkinter.Tk()
self.mw.title = ("Connect Four")
self.rows = 6
self.cols = 7
self.buttons_2d_list = []
for i in range (self.rows):
self.rows = ['']*self.cols
self.buttons_2d_list.append(self.rows)
self.gboard = ConnectFourBoard()
p1 = HumanPlayer("X")
p2 = ComputerPlayer("O", self.buttns_list)
self.players_1st = (p1, p2)
self.currnt_player_index = 0
self.winner = False
def clicked_btn(self, x, y):
p = self.players_1st[self.currnt_player_index]
button = self.buttons_2d_list[x][y]
if button["text"] == "":
button["text"] = p.get_player_symbol()
self.gboard.MakeMove(x, y, p.get_player_symbol())
winner = self.gboard.CheckForWin()
is_full = self.gboard.FullBoard()
if winner == True:
win_message = ("Player %s is the winner!" %p.get_player_symbol())
messagebox.showinfo("Winner Info", win_messge)
self.mw.destroy()
exit()
elif is_full == True:
messagebox.showinfo("Winner Info", "The game is a draw")
self.mw.destroy()
exit()
else:
pass
if self.currnt_player_index == 1:
self.currnt_player_index = 0
else:
self.currnt_player_index += 1
p = self.players_1st[self.currnt_player_index]
p.play()
import random
がクラスComputerPlayer(プレイヤー):
def __init__(self, letter, buttns_list):
Player.__init__(self, letter)
self.buttons_2d_list = buttns_list
def play(self):
pass
しかし私は、このエラーが立ち上がっComputerPlayerにself.buttns_listを追加しました:はAttributeError:「GameGUI」オブジェクトが属性「buttns_list」 を持っていない私は私のボードゲーム – sarb
@sarb用ボードとボタンを作成しようとしています現在のコードをリフレッシュして、 'GamerGUI'の間に' self.buttns_list'を渡すように聞こえるかもしれませんが、 'self'はその時点で' GamerGUI'を参照していますので、 'GamerGUI.buttns_list'存在しないもの –
現在のコードを更新しましたが、どうすればいいですか? – sarb