我正在python中实施炸弹人,我想继续移动它。但是当我不断地打印板时它会闪烁。如何减少它?

时间:2017-08-21 20:14:47

标签: python terminal

实际上我正在python中实施炸弹人游戏,我想让轰炸机在按键时不断向左移动。

我希望在随后的2D阵列显示中减少终端屏幕上的闪烁。因为我一直按下2D阵列中的移动键,2d阵列的下半部分闪烁,这就是我想要减少的。

这是我迄今为止所尝试过的:

def printboard(): 
    for x in range(wall1.rows): 
        for y in range(wall1.columns): 
            print(arr[x][y],end='') 
            print('\n',end='') 
        print('\n',end='')

class _Getch:     """从标准输入中获取单个字符。不回应屏幕。"""     def init (个体经营):         尝试:             self.impl = _GetchWindows()         除了ImportError:             self.impl = _GetchUnix()

def __call__(self): return self.impl()

class _GetchUnix:     def init (个体经营):         import tty,sys

def __call__(self):
    import sys, tty, termios
    fd = sys.stdin.fileno()
    old_settings = termios.tcgetattr(fd)
    try:
        tty.setraw(sys.stdin.fileno())
        ch = sys.stdin.read(1)
    finally:
        termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)
    return ch

class _GetchWindows:     def init (个体经营):         import msvcrt

def __call__(self):
    import msvcrt
    return msvcrt.getch()

getch = _Getch()

1 个答案:

答案 0 :(得分:1)

如果我已正确理解您的问题,那么这种闪烁是由于执行时间非常快,因此延迟应解决问题。试试这些代码:

import time

{your code here}
time.sleep(0.5)   # delays for 0.51 seconds. You can Also Use Float Value.