我正在尝试使用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
提交
取消