我正在制作一个简单的图形化命令行引擎
作为一个测试,我列出了尺寸端子宽度*端子高度。除非在列表的边框上,否则用“”填充。然后我有一个while循环,它通过将列表的内容写入std.out.write()来不断地将这些内容写入屏幕
screen = [" "]*(screenWidth*screenHeight)
for x in range(screenWidth):
for y in range(screenHeight):
if (x==0 or x==screenWidth-1 or y ==0 or y == screenHeight-1):
screen[y*screenWidth+x] = "9"
else: " "
def writeConsole(screen):
strScreen = ''.join(screen)
sys.stdout.write(strScreen)
while (True):
writeConsole(screen)
我期待这个:
9999999
9 9
9 9
9999999
但它似乎在屏幕上滚动。我想这意味着我需要做一个缓冲区来写我的内容,然后写到屏幕上。但是通过将数组的内容强制转换为一个自然环绕窗口边缘的长字符串,我基本上就是这样做的,对吗
一直在试验sys.stdout.buffer.write和lambda:os.system('clear'),但没有效果
目前没有回答
相关问题 更多 >
编程相关推荐