2017-02-17 2 views
0

아무도 도와 줄 수 있습니까? 선생님은 우리에게 "삶의 게임"에 관한 과제를 주셨습니다. 그는 실제로 우리에게 이라는 방법을 사용했지만, 시작하는 법을 모릅니다! 그는 3 개 클래스를 사용하는 우리에게 물었다 : 클래스 미소 세포, 클래스 ruleand 클래스 오토마타 (물론 주)는 3 개 기능에 대한 코드를 작성해야처럼자바의 셀룰러 오토메타

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

이 보이는을,이 작동하는 방법이다 :

SetEtat :

이 기능은 간단 그래서 미소 세포의 상태를 설정하는 데 사용할 것이고, 단지 생성자처럼 작동 매개 변수 값을 글로벌 변수 상태로 할당합니다

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 필요한 것을 설명 할 수 있습니까? 두 번째 기능을 수행합니까? 실제로 당신이 겪고있는 문제는 무엇입니까? –

+0

1, calculate_Future_state는 우리가 원하는 규칙을 사용한 후에 셀룰러의 미래 상태를 반환해야한다고 가정합니다. 즉, int를 반환해야 함을 의미합니다. 내가 얻지 못하는 것은 Regle R을 사용하여 셀룰러의 다음 상태를 알아내는 것입니다. 2- 메서드 setEtat은 셀룰러의 다음 상태를 제공해야합니다. 왜 컨스트럭터로 작동합니까? –