java - 六角网格上的元胞自动机

标签 java oop grid hex

我正在学习 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/

相关文章:

java - 使用加速度计和陀螺仪移动鼠标光标

java - 使用提要 ://in rome

javascript - 带有ajax的js中的OOP方法

html - 向下滚动时使侧边 block 保持在同一水平

html - Bootstrap 网格 3x3 至 6x2 至 9x1

java - Spring 与 MyBatis : expected single matching bean but found 2

Java : Accessing Hidden Interface Field

javascript - 向 Javascript 原型(prototype)添加方法和向现有对象添加功能有什么区别

java - Controller 类中的instanceOf可以吗? (无法编辑任何其他类别)

javascript - 使用看起来拉伸(stretch)的 <canvas> 元素绘制的网格