我为模糊的标题表示歉意,但实际上,我想使用pygame以几种不同的方式退出游戏循环。 给定以下代码,我要避免两次编写“ running = False”。我知道这是非常小的事情,但是如果可能的话,我想用更少的“和”和“或”行来写“ if”条件。
running = True
while running:
for e in pg.event.get():
if e.type == pg.QUIT:
running = False
if e.type == pg.KEYDOWN:
if e.key == pg.K_ESCAPE:
running = False
pg.quit()
这是我第一次问一个问题,所以如果这太模糊或只是一个愚蠢的问题,请原谅。还是要谢谢你!
答案 0 :(得分:0)
使用一些很好的旧布尔代数,并使用括号进行分组!
我认为这完全相同,但是您可能需要仔细检查:
while True:
for e in pg.event.get():
if e.type == pg.QUIT or (e.type == pg.KEYDOWN and e.key == pg.K_ESCAPE):
pg.quit()
答案 1 :(得分:0)
如果目标是在上述两种情况下均退出,那么它将起作用:
running = True
while running:
for e in pg.event.get():
if e.type == pg.QUIT or (e.type == pg.KEYDOWN and e.key == pg.K_ESCAPE):
running = False
pg.quit()
您可以使用以下方法进一步缩短它:
while True:
for e in pg.event.get():
if e.type == pg.QUIT or (e.type == pg.KEYDOWN and e.key == pg.K_ESCAPE):
break
pg.quit()