我很难理解window.timeout()函数。更具体地说,我在使用Python制作“贪吃蛇”游戏:
然而,在这种情况下,timeout(100) 似乎控制程序等待 w.getch() 的时间长度,而不是控制两次蛇移动之间的时间长度。此外,我注意到在第一个示例中,timeout 在 while 循环外面被声明。这看起来对我来说很奇怪,因为通常如果我想暂停一个 while 循环,我会将 sleep() 放在 while 循环的底部内部。
s = curses.initscr()
curses.curs_set(0)
w = curses.newwin()
w.timeout(100)
while True:
move snake until it hits the wall
我理解在这种情况下,timeout(100) 确定了蛇“移动”的速度,即在屏幕上打印新字符的速度。然而,当我想修改代码以便等待某人按“开始”时,我陷入了困境。我写了以下代码:
w.timeout(100)
while True:
if w.getch() is not start:
stay at the initial screen
else:
while True:
move the snake until it hits the wall
然而,在这种情况下,timeout(100) 似乎控制程序等待 w.getch() 的时间长度,而不是控制两次蛇移动之间的时间长度。此外,我注意到在第一个示例中,timeout 在 while 循环外面被声明。这看起来对我来说很奇怪,因为通常如果我想暂停一个 while 循环,我会将 sleep() 放在 while 循环的底部内部。