我正在嘗試使用python和tkinter重新創建棋盤游戲的壟斷地位。我知道如何在畫布或框架上放置標簽,但是應該如何從類中的另一個函數運行此命令?我在類Board中使用了某些功能進行了嘗試,但是由于在中發生這種情況,因此錯誤出現,因為未定義標簽,畫布等__init__(self,parent)。我該如何解決這些錯誤?還是我應該采取其他方法?希望我能解決我的問題。import tkFileDialogfrom random import randintclass Board(Frame): def __init__(self,parent): ##create the board frame = Frame(parent) frame.pack() Frame.__init__(self,parent) frame2 = Frame(frame) frame2.pack() c=Canvas(frame2,width=480,height=480) c.pack(expand=YES,fill=BOTH) c.background=PhotoImage(file='Board.gif') c.create_image(0,0,image=c.background,anchor='nw') ##Add player 1 player1=PhotoImage(file='plane.gif') label_player1 = Label(c,image=player1) label_player1.image=player1 label_player1.place(x=430,y=420) ##Add player 2 player2=PhotoImage(file='car.gif') label_player2 = Label(c,image=player2) label_player2.image=player2 label_player2.place(x=430,y=450) button = Button(frame, text="Next turn", command=self.next_turn) button.pack() button = Button(frame, text="Roll the dice", command=self.roll) button.pack() def roll(self): number=randint(2,12) if b==0: self.place_player_down() return number def place_player_down(self): for i in range(number+1): h=int(430-i*30) while h>=0: player2=PhotoImage(file='car.gif') label_player2 = Label(c,image=player2) label_player2.image=player2 label_player2.place(x=h,y=420)root = Tk()board = Board(root)board.pack()root.mainloop()
添加回答
舉報
0/150
提交
取消