我试图为我正在处理的事情制作一个start_game按钮,但我不了解如何使用函数的返回值。这是我的榜样。
[Authorize(Roles = "user")]
[Route("")]
[HttpGet]
public async Task<IHttpActionResult> GetUserSpecificServers() { ... }
我知道这是错的,我花了一些时间寻找解释,但我似乎找到的是如何打印函数的返回值。
答案 0 :(得分:0)
您的代码必须是这样,您不需要&#34;是真的&#34;
start_game = ttk.Button(frame, text="Start Game", command=startgame)
start_game.grid(column=1, row=2)
def startgame():
return True
if startgame():
"""Run the game"""
但似乎startgame已经是真的,所以你可以写出你的代码或将其定义为一个函数,如
def game():
"""Game Code"""
然后您可以使用
调用该函数game()
答案 1 :(得分:0)
因为command
运行一个函数,只需将游戏代码放入该函数中:
start_game = ttk.Button(frame, text="Start Game", command=rungame)
start_game.grid(column=1, row=2)
def rungame():
"""Run the game"""
<小时/> 在原始代码中,代码
startgame()
执行了startgame
函数,该函数返回True
而不管其他任何代码。
您可能一直希望的模式需要协作协同例程,事件循环,多线程或其他形式的并发,这对于现在来说太复杂了,但简化的伪代码算法看起来像这样:
start_game = ttk.Button(frame, text="Start Game", command=allow_game)
start_game.grid(column=1, row=2)
game_allowed = False
def allow_game()
global game_allowed
game_allowed = True
while True:
if game_allowed:
"""Run the game"""
break
else:
"""run an infinite loop waiting for game_allowed to be True,
but you must run it in a way that allows ttk to execute the
allow_game(), not this simple while loop
"""