无法摆脱 (n,n) 处的填充
Can't get rid of the fill at (n,n)
尝试逐个构建 Game of Life 程序,我很困惑为什么无论我使用什么配置 运行,右下角的矩形填充始终是红色。此外,它读取配置文件,但更改文件指示的任何方块的填充。
配置为归档格式的文本文件:
行号列号
行号列号
行号列号
LIVE = 1
DEAD = 0
def board(canvas, width, height, n):
for row in range(n+1):
for col in range(n+1):
canvas.create_rectangle(row*height/n,col*width/n,(row+1)*height/n,(col+1)*width/n,width=1,fill='black',outline='green')
n = int(raw_input("Enter the dimensions of the board: "))
width = n*25
height = n*25
from Tkinter import *
import math
window=Tk()
window.title('Game of Life')
canvas=Canvas(window,width=width,height=height,highlightthickness=0)
canvas.grid(row=0,column=0,columnspan=5)
board = [[DEAD for row in range(n)] for col in range(n)]
rlist = [[None for row in range(n)] for col in range(n)]
print rlist
for row in range(n):
for col in range(n):
rlist[row][col] = canvas.create_rectangle(row*height/n,col*width/n,(row+1)*height/n,(col+1)*width/n,width=1,fill='black',outline='green')
f = open('configuration.txt','r')
for line in f:
parsed = line.split()
if len(parsed)>1:
i = int(parsed[0].strip())
j = int(parsed[1].strip())
board[row][col] = canvas.itemconfigure(rlist[row][col], fill='red')
window.mainloop()
抱歉,我还不能对你的问题发表评论,但无论如何。
在最后一个 forloop 中你设置了 i 和 j,但是你从不使用它们,而是使用 row 和 col。
尝试逐个构建 Game of Life 程序,我很困惑为什么无论我使用什么配置 运行,右下角的矩形填充始终是红色。此外,它读取配置文件,但更改文件指示的任何方块的填充。
配置为归档格式的文本文件:
行号列号
行号列号
行号列号
LIVE = 1
DEAD = 0
def board(canvas, width, height, n):
for row in range(n+1):
for col in range(n+1):
canvas.create_rectangle(row*height/n,col*width/n,(row+1)*height/n,(col+1)*width/n,width=1,fill='black',outline='green')
n = int(raw_input("Enter the dimensions of the board: "))
width = n*25
height = n*25
from Tkinter import *
import math
window=Tk()
window.title('Game of Life')
canvas=Canvas(window,width=width,height=height,highlightthickness=0)
canvas.grid(row=0,column=0,columnspan=5)
board = [[DEAD for row in range(n)] for col in range(n)]
rlist = [[None for row in range(n)] for col in range(n)]
print rlist
for row in range(n):
for col in range(n):
rlist[row][col] = canvas.create_rectangle(row*height/n,col*width/n,(row+1)*height/n,(col+1)*width/n,width=1,fill='black',outline='green')
f = open('configuration.txt','r')
for line in f:
parsed = line.split()
if len(parsed)>1:
i = int(parsed[0].strip())
j = int(parsed[1].strip())
board[row][col] = canvas.itemconfigure(rlist[row][col], fill='red')
window.mainloop()
抱歉,我还不能对你的问题发表评论,但无论如何。
在最后一个 forloop 中你设置了 i 和 j,但是你从不使用它们,而是使用 row 和 col。