import time
import sys
try:
shell = sys.stdout.shell
except AttributeError:
raise RuntimeError("you must run this program in IDLE")
Grid=[[0,0,0,0,0,1,0,0,0,0,],[0,0,0,0,0,0,0,0,0,0,],[0,0,0,0,0,0,0,0,0,0,],[0,0,0,0,0,0,0,0,0,0,],[0,0,0,0,0,0,0,0,0,0,],[0,0,0,0,0,0,0,0,0,0,],[0,0,0,0,0,0,0,0,0,0,],[0,0,0,0,0,0,0,0,0,0,],[0,0,0,0,0,0,0,0,0,0,],[0,0,0,0,0,0,0,0,0,0,],[0,0,0,0,0,0,0,0,0,0,],[0,0,0,0,0,0,0,0,0,0,],[0,0,0,0,0,0,0,0,0,0,],[0,0,0,0,0,0,0,0,0,0,],[0,0,0,0,0,0,0,0,0,0,],[0,0,0,0,0,0,0,0,0,0,],[0,0,0,0,0,0,0,0,0,0,],[0,0,0,0,0,0,0,0,0,0,],[0,0,0,0,0,0,0,0,0,0,],[0,0,0,0,0,0,0,0,0,0,]]
counterX=0
counterY=0
while (counterX<=10 and counterY<=19):
if(Grid[counterY-1][counterX-1]==0):
if (counterX!=10):
shell.write("⬛")
else:
shell.write("⬛\n")
if(Grid[counterY-1][counterX-1]==1):
if (counterX!=10):
print("⬛", end="")
else:
print("⬛")
if(counterX!=10):
counterX+=1
else:
counterX=0
counterY+=1
i=0
for i in range (0,44):
print("")
i+=1
我面临着使用ASCII创建GUI游戏的挑战,在这样做时,我会打印每个游戏状态的游戏网格(我将其打印出来,以便看起来它已经取代了最后一个游戏状态向下打印了足够多的行,因此看起来好像在同一位置。)我分别打印每个图块,因为我需要我的对象采用不同的颜色来区分背景和对象。 (我尚未添加'如果值1使颜色变为红色”)
无论如何,当打印出来时,您可以看到它逐行打印。快速但引人注目。如何一次全部打印?
新代码将在全屏shell窗口上进行测试
答案 0 :(得分:0)
如果直接从命令行使用python而不是IDLE运行代码,则打印输出的显示速度可能会更快。如果您一次打印整行而不是一次打印一个字符,它也应该显示得更快。如果将所有行计算为一个字符串,然后一次打印一次打印所有内容,则可能会更快。