愚問をてってれーするの楽しすぎるでしょβ

ESRのエッセイに唆されてPythonする初心者が半端な勉強ログを書き散らす場所 ICT文化にどうしても住みたいという遠大な啓示が下った人の住処/気持ちよさのためだけに/お客様のお忘れになった恥の概念が母胎に届いているようです

GUIをいじるモジュール、tkinterを使うの段、その3

from tkinter import *
import random#2つのモジュールを何故それぞれこのように参照しているのか?

dead=0
alive=1
status=(dead, alive)#なんで()なんだっけ??[ ]との違いは何だったっけ?

height=15
width=15
field=

random.seed(0)

def init():
    for i in range(height):
        row=
        for j in range(width):
            row.append(dead)
            field.append(row)
    draw()

def rand_set():
    for i in range(height):
        for j in range(width):
            field[i][j]=random.choice(status)
    draw()

def draw():
    canvas.delete("field")
    for i in range(height):
        for j in range(width):
            x0=space+j*cell
            y0=space+i*cell
            x1=x0+cell
            y1=y0+cell
            canvas.create_rectangle(x0,y0,x1,y1,fill=color[field[i][j]],tags="field")


space=5
cell=16
color={alive: "red", dead: "white"}#colorというのは辞書型のデータらしいが、どこから取ってるんだ?そしてこの定義は何?

root=Tk()

canvas_h=space*2+height*cell
canvas_w=space*2+width*cell
canvas=Canvas(root, width=canvas_w, height=canvas_h)
canvas.pack()

reset_button=Button(root, text="reset")
reset_button.pack(side="left")

rand_button=Button(root, text="rand", command=rand_set)
rand_button.pack(side="left")

exit_button=Button(root, text="exit", command=root.destroy)
exit_button.pack(side="right")

init()
root.mainloop()

 

結果:

f:id:komosudare:20150326080640p:plain

ああ、愛いやつ!resetボタンの中身が空で、セルをクリックしてもうんともすんとも言わない状態。