2011-03-29 69 views
0

因此,在我的程序中,我有一个JPanel(称为squareContainer),它内部有JPanel,它在Bubble Breaker游戏中充当泡泡。无论如何,我的想法是,我希望计算机模拟去除泡沫,找出哪一个是最好的,但是当这种情况发生时,它实际上会玩游戏,并且不仅仅是“最好”的举动。所以我想知道是否有可能复制我的squareContainer JPanel的确切状态,包括它里面的气泡等。这样,当计算机模拟播放它并基本完成所有动作时,我可以简单地用克隆替换它,所以我有我的初始状态,以及其中的信息是最好的举措。JPanel或Undo的精确副本..建议

请注意,我已经有哪些信息是最好的移动,但无法找出撤消我的JPanels编辑的最佳方式......请有任何想法吗?

回答

2

您可以做的最好的事情是将您的数据与用户界面分开。

您的用户界面应该基于气泡的某些内部状态呈现JPanels仍然可用。

理论上,您将能够以文本格式查看其状态,例如System.out.println(...)。以这种方式,您将能够复制该状态并将其发送到您的模拟器。

+0

这将被称为[MVC](http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller);-) – 2011-03-29 23:56:06

+0

@Matt ehhh好吧我会去沿。我通常会将MVC与“MVC框架”联系在一起,而“将UI与业务逻辑分开”仅仅是一种好的做法。 – corsiKa 2011-03-29 23:58:24

+0

我不确定我是否理解你的意思,我在JPanel Grid中玩泡泡的方式是随机的,以便随机放置彩色泡泡。但是我想复制在编辑之前生成的状态。 – Didier 2011-03-30 00:00:11