def __init__(self,parent,size,grid=lg.life_grid((1,1)),color_dead="white",color_alive="black"): self.alive_cell_tag="a_cell" self.last_hit=[] self.grid=grid self.rect_grid=grid.empty_copy() self.parent=parent self.size=size self.color_dead=color_dead self.color_alive=color_alive self.main_canvas=tkinter.Canvas(self.parent,width=self.size[0],height=self.size[1],bg=self.color_dead) self.main_canvas.bind('<Button-1>', self.toogle_cell_click) self.main_canvas.bind('<B1-Motion>', self.toogle_cell_motion) self.refresh()
def run(self): self.main_game = mg.main_game() self.game_win = tkinter.Tk() self.game_win.title("Pylife") self.game_win.minsize(self.win_size[0], self.win_size[1]) self.game_win.maxsize(self.win_size[0], self.win_size[1]) self.main_frame = tkinter.Frame( self.game_win, width=self.grid_size[0] + self.right_area_size[0], height=self.right_area_size[1] ) self.main_canvas = gc.grid_canvas(self.main_frame, self.canvas_size, lg.life_grid(self.grid_size)) self.right_frame = tkinter.Frame(self.main_frame, width=self.right_area_size[0], height=self.right_area_size[1]) self.bottom_frame = tkinter.Frame( self.game_win, width=self.bottom_arrea_size[0], height=self.bottom_arrea_size[1] ) self.pause_button = tkinter.Button(self.right_frame, text="Play", command=self.toogle_play) self.random_button = tkinter.Button(self.right_frame, text="Random", command=self.random_grid) self.clear_button = tkinter.Button(self.right_frame, text="Clear", command=self.clear_grid) self.fill_button = tkinter.Button(self.right_frame, text="Fill", command=self.fill_grid) self.main_label = tkinter.Label(self.right_frame, text="Hi main !") self.time_label = tkinter.Label(self.bottom_frame, text="Hi time !") self.time_button_up = tkinter.Button(self.bottom_frame, text="+", command=self.more_time) self.time_button_down = tkinter.Button(self.bottom_frame, text="-", command=self.less_time) self.main_frame.pack(side=tkinter.TOP, fill=tkinter.BOTH) self.main_canvas.pack(side=tkinter.LEFT) self.right_frame.pack(side=tkinter.RIGHT, fill=tkinter.BOTH) self.bottom_frame.pack(side=tkinter.BOTTOM, fill=tkinter.BOTH) self.pause_button.pack(fill=tkinter.BOTH) self.random_button.pack(fill=tkinter.BOTH) self.clear_button.pack(fill=tkinter.BOTH) self.fill_button.pack(fill=tkinter.BOTH) self.main_label.pack(fill=tkinter.BOTH) self.time_label.pack(side=tkinter.LEFT) self.time_button_up.pack(side=tkinter.LEFT) self.time_button_down.pack(side=tkinter.LEFT) self.main_game.init(self.main_canvas, self.main_label, self.time_label) self.main_game.start() self.game_win.protocol("WM_DELETE_WINDOW", self.close) self.game_win.bind("<Escape>", self.close_callback) self.game_win.mainloop() self.close()