我正在Python中使用graphics.py创建一个非常简单的Langton's Ant程序。我的问题是,蚂蚁需要超过2分30秒才能到达“高速公路”。如果可能,我希望将其减少到仅几秒钟。
我已经尝试过“优化”我的代码(从大约90行减少到大约45行,大部分只是压缩一堆if语句)。这节省了大约10秒钟的时间,所以我猜问题是实际的渲染。我确实希望能够看到蚂蚁在屏幕上跟踪其路径,但是我担心问题是将每个像素绘制为黑色或白色。
这是我当前代码的主要内容:
#Import graphics.py and math, initialize variables
grid = [[0 for x in range(xSize)] for y in range(ySize)] # 0 is white, 1 is black
while key != 'x':
key = win.checkKey()
if grid[antX][antY] == 0: #Light square
if antDir < 4: #Turn ant right
antDir += 1
else:
antDir = 1
grid[antX][antY] = 1
win.plotPixel(antX, antY, "black")
elif grid[antX][antY] == 1: #Dark square
if antDir > 1: #Turn ant left
antDir -= 1
else:
antDir = 4
grid[antX][antY] = 0
win.plotPixel(antX, antY, "white")
if antDir == 1 and antY != 0:
antY -= 1
elif antDir == 2 and antX != xSize-1:
antX += 1
elif antDir == 3 and antY != ySize-1:
antY += 1
elif antDir == 4 and antX != 0:
antX -= 1
else:
break #Break if touching wall
key = win.getKey()
那么,你们怎么看?我应该使用其他图书馆吗?我的代码中是否有占用时间的东西?还是我不能在合理的时间内重复绘制到屏幕上?
我正在使用Acer Aspire E5-576G和i5处理器以及8 gig RAM。