我试图基于图论(数学)用Python制作一个交互式游戏(桌面应用程序)。我已经设法绘制了图形,下一步我想实现的是,每当我单击“下一步”按钮时,我的当前图形都将被删除,程序将在同一图形上创建并绘制一个新图形。帆布。另一个问题是图应该是交互式的(这就是为什么我需要那些主循环)。
def play(self):
self.button_start.pack_forget()
self.canvas.draw()
self.canvas.get_tk_widget().pack(side=BOTTOM, fill=BOTH, expand=True)
total_nodes = randint(4, 5)
graph = np.array([[0 if random() < 0.3 or j <= i else 1 for i in range(total_nodes)] for j in range(total_nodes)])
plot_instance = netgraph.PlayableGraph(graph) # this will automatically draw the graph
def nextGraph(plot_instance):
plot_instance.deleteGraph()
total_nodes = randint(4, 5)
graph = np.array(
[[0 if random() < 0.3 or j <= i else 1 for i in range(total_nodes)] for j in range(total_nodes)])
plot_instance = netgraph.PlayableGraph(graph)
# process plot_instance...
mainloop()
self.button_next.pack(padx=15, pady=15)
self.button_next.config(command=nextGraph(plot_instance))
mainloop()
现在可以使用的是:我看到了“开始”按钮。按下时,将忘记其包装,并在其位置出现“下一步”按钮。我的图将被绘制,但是可以看到一个闪烁,在其中绘制了一个图,然后将其删除,然后再次绘制(新图,应该与第一个图不同)。但是,当我按“下一步”按钮时,什么也不会发生。我敢肯定有解决这个问题的方法,但是我还不太清楚。