我正在学习 Java,所以我尝试在六边形网格上编写基本元胞自动机。
我想将显示代码与模拟代码分开,这样模拟就可以处理计算,而显示会根据它自行刷新。
几天来我一直在努力弄清楚如何正确地执行此操作,但我仍然感到困惑。我在 Internet 上找到了很多资源,但没有一个提供以面向对象的方式对此进行编码的简单演练。
现在我不关心实现任何模式,在 x 和 y 轴上进行简单的连续移动就足以检查它是否有效。
所以我做了什么:
- 带有开始、暂停、清除控件和空白显示 Jpanel 的 GUI
如果有人能给我一个方法或框架,或者任何关于如何实现这一点的建议,我将不胜感激。
最佳答案
伪代码:
class MyModel {
private int x;
private int y;
public int getX() { return x; }
public int getY() { return y; }
public void go() {
// sart a thread that changes x & y over time
}
public void stop() {
// stop the thread
}
public void reset() {
// reset x & y to their initial values
}
}
以上是您的模型。您的 View 应监视模型的 x 和 y 值的变化并显示基于此的运动。当用户点击“开始”按钮等时,您的 Controller 应该调用模型的“开始”方法。
关于java - 六角网格上的元胞自动机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5597845/