2011-04-08 63 views
2

我在學習java,所以我嘗試在hexgrid上編寫一個基本的元胞自動機。十六進制網格上的元胞自動機

我想將顯示代碼與仿真代碼分開,以便仿真只是處理計算並根據它自行刷新顯示。

我試圖找出幾天如何正確地做到這一點,但我仍然困惑。我在互聯網上發現了很多資源,但沒有一個提供了一個簡單的演練,以面向對象的方式對其進行編碼。

現在我不在乎實現任何模式,只要在x和y軸上進行簡單的連續運動就足以檢查它是否工作。

所以我做了什麼:

  • 與去,暫停,明確控制和一個空白顯示的JPanel一個GUI

如果有人可以給我一個方法或骨架或任何建議如何實現這一點,它會非常感激。

+0

有沒有想過使用Netlogo? – ITroubs 2011-04-08 16:14:54

+1

讓程序在沒有任何GUI的情況下首先運行 - 只需將輸出顯示到終端。一旦你有了這個工作,並不是很難開發一個簡單的圖形用戶界面(GUI) – 2011-04-08 16:19:23

+0

@Bradley:你是否熟悉並使用MVC技術?首先要做的是以與GUI無關的方式創建您的模型。一旦構建良好,構建使用該模型的GUI和控件類。編輯:正如阿米爾在我之前所說的那樣。 :) – 2011-04-08 16:19:52

回答

0

僞代碼:以上

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 
    } 
} 

是你的模型。您的視圖應該監視模型的x值和y值的變化並基於此來顯示移動。當用戶點擊「去」按鈕等時,你的控制器應該調用模型的「去」方法。