def constant(self):if len(self.old) < self.old_size:return False arr = []for i in self.old:if i not in arr:arr.append(i)if len(arr) < 10:return True def current(self, Items=None):arr = []if Items == None:Items = self.items[:]for item in Items:b = 0for i, n in enumerate(item[::-1]): b += n * 2 ** iarr.append(b)self.old.append(arr)def paint_world(): global tv, square # 网格世界,正方形 tv = tk.Canvas(world, width=world.winfo_width(), height=world.winfo_height())tv.pack(side="top")coord = 38, 38, 760, 760tv.create_rectangle(coord, width=2)R, XY = 8, [50 + i * 20 for i in range(36)]square = [[0] * 36 for _ in range(36)]for i, x in enumerate(XY):for j, y in enumerate(XY):square[i][j] = tv.create_rectangle(x - R, y - R, x + R, y + R, tags=('imgButton1'))tv.itemconfig(square[i][j], fill='white', outline='white')tv.tag_bind('imgButton1', '<Button-1>', click_cell) 解释代码
时间: 2023-06-26 22:03:19 浏览: 210
Function-pointera-pointer-Function.rar_pointerA ;_site:www.pudn
这段代码是一个基于 tkinter 库实现的网格世界的可视化界面。其中,constant() 方法用于判断当前的状态是否与历史状态重复,如果重复则返回 True,否则返回 False;current() 方法用于将当前的状态转化为数字并存储到历史状态列表中;paint_world() 方法用于创建网格世界的正方形和其对应的 tkinter 的 Canvas 元素,并将其绑定到鼠标点击事件上。
阅读全文