2017-02-17 6 views
0

誰でも助けてくれますか? 私たちの先生は「人生のゲーム」に関する仕事を教えてくれました。彼は実際に という方法を私たちに使ってくれましたが、私は本当に始める方法が分かりません!あなたは3つの機能のためのコードを記述するために持っているように、これはそれがどのように動作するかをあるルックスクラスcellule、クラスruleandクラスオートマトン(そしてもちろんメイン)セルオートマトンin java

package jeu_de_vie; 


public class Cellule { 
    private int state; // should be equal to 0 (if alive) or 1 (if dead) 

    public Cellule(int state) { // constructor 
     this.state = state; 

    } 
    public void SetEtat(int state){} 

    public void Calculate_future_state(Cellule Cg, Cellule Cd,Regle R){} // to calculate the next state 

    public boolean Equals (Cellule A,Cellule B){} // to verify if the cellular are equal 
} 
+1

"生存している場合は0、死んだ場合は1にする必要があります。"ブール値のような音がより適切な場合があります(または列挙型)。 –

答えて

1

彼は3つのクラスを使用するために私たちを尋ねました

SetEtat:

この関数は、それは簡単ですので、celluleの状態を設定するために使用されるだろうと、ちょうどコンストラクタと同じように動作パラメータの値をとり、グローバル変数の状態に割り当てます

public void SetEtat(int state){ 
    this.state = state; 
} 

私によれば、この関数はブール値を返さなければならないので、戻り値の型はvoidの代わりにbooleanでなければなりません。これはチェックのために使用し、戻り値が必要なためです。これを機能させるには、国家を公開する必要があります。またはゲッター機能が必要です。

public boolean Equals(Cellule A, Cellule B){ 
    return (A.state==B.state); 
} 

Regle型のオブジェクトのコンテキストが存在しないため、未来状態の計算機能は不完全なようです。

+0

ありがとうMaster Yushiさん、ありがとうRegleは、私が実装したRegle(ルール)と呼ばれる別のクラスのインスタンスです。使用するルールを変換してバイナリに変換します –

+0

@ s.happy必要なものを説明できますか? 2番目の関数で行うのですか?実際に直面している問題は何ですか? –

+0

1私が望む規則を使用した後、calculate_Future_stateは将来のcellularの状態を返すことになっています(つまり、intを返す必要があり、修正する必要があります)。何が得られないのですか?Regle Rを使ってセルラーの次の状態を調べる方法です2 - メソッドsetEtatはセルの次の状態を与えるべきですなぜコンストラクタとして動作するのですか –