更新显示tkinter玩家的标签
对于我需要制作nim游戏的项目,必须有一个标签来显示它是哪个玩家。但是现在我需要在玩家点击一个按钮以获取1或2个硬币后更新标签。必须有2名球员,现在我不知道该怎么做。更新显示tkinter玩家的标签
这里是我的脚本:
from tkinter import *
player = 1
def player_status():
global player
root = Tk()
root.geometry('500x300')
frame = Frame(root)
state = Label(frame, text="State: " + str(coins))
state.pack()
player = Label(frame, text="Player " + str(player) + " turns!")
player.pack()
takeonecoin = Button(frame, text="1 coin", commad=one_coin)
takeonecoin.pack()
taketwocoins = Button(frame, text="2 coins", command=two_coins)
taketwocoins.pack()
frame.pack()
root.mainloop()
你需要使用 “绑定” 选项:
takeonecoin = Button(frame, text="1 coin")
takeonecoin.bind('<Button-1>', one_coin)
takeonecoin.pack()
taketwocoins = Button(frame, text="2 coins")
taketwocoins.bind('<Button-1>', two_coin)
taketwocoins.pack()
它是: xxx.bind(,命令应执行)
例如我的第一个答案,对不起我的英文
当我这样做比我得到这个错误= TypeError:one_coin()需要0位置参数,但1给出 –
@FreddieBo你需要定义函数像def one_coin(事件): –
现在它的工作。 –
你的代码看起来很乱,我会引用你去学习ab在创建游戏时,几乎所有的对象和类都是必需的,即使是简单的游戏也是如此。 – dannyxn
首先定义一个'Player'类并创建它的两个实例。然后将其中的一个指定为'current_player',并修改其余的函数以引用(作为参数或全局变量)。这将允许你简单地通过给'current_player'分配一个不同的值来切换玩家。 – martineau
兄弟,我检查了你的代码,它甚至不工作! – dannyxn