GameOfLive

Yrea

Mitglied
Hallo liebe Community ich möchte die Simulation Game Of Live programmieren und bräuchte zur
Berechnung der neuen Zustände meiner Zellen und deren Nachbarn passende Methoden.

Könntet ihr mir bitte einen Denkanstoß geben? komme irgendwie bei dieser Berechnung nicht weiter.

Java:
public class GameOfLife {
    
    private int n, w;
    private int anzahlSchritte;
    
    private Zelle[][] zellen;
    private EinUndAusgabe ea;
    private Interaktionsbrett ib;
    
    public GameOfLife(){
        ea = new EinUndAusgabe();
        ib = new Interaktionsbrett();
        ea.ausgeben("Feldgröße n (>0): ");
        n = ea.leseInteger();
        ea.ausgeben("Wahrscheinlichkeit w (0-100): ");
        w = ea.leseInteger();
        zellen = new Zelle[n][n];
        for(int i = 0; i< n; i++){
            for(int j = 0; j< n; j++){
                zellen[i][j] = new Zelle(j, i, getZufaelligenZustand(), this);
            }
        }
         darstellen();
        do{
            ea.ausgeben("Anzahl Schritte (>0): ");
            anzahlSchritte = ea.leseInteger();
            for(int i = 0; i < anzahlSchritte; i++){
                setNeueZustaende();
                ib.pause(40);
                darstellen();
            }
        }while(anzahlSchritte > 0);
    }   
    public void darstellen(){
        ib.abwischen();
        for (int i = 0; i < n; i++){
            for(int j = 0; j < n; j++){
                zellen[i][j].darstellen();
            }
        }
    }    
    public Interaktionsbrett getIb(){
        return ib;
    }
    
    private Zelle.Zustand getZufaelligenZustand() {
        if(ea.zufall(1,  100) <= w){
            return Zelle.Zustand.bewohnt;
        }else{
            return Zelle.Zustand.unbewohnt;
        }
    }
    
    private void setNeueZustaende() {
    }
    
    private int getAnzahlBewohnterNachbarn(int zeile, int spalte) {
        return nBewohnt;
    }  
}
 

Bananabert

Bekanntes Mitglied
Wo hapert es bei dir denn?
So schwer sind die Regeln doch nicht :
Conways_Spiel_des_Lebens#Die_Spielregeln

Als Beispiel :
Du Prüfst halt die 8 umliegenden Zellen einer Zelle z.B. mit 2 for-Schleifen und als Startwerte jeweils von zelle.x-1 und zelle.y-1 bis zelle.x+1 und zelle.y+1.
Rechnest die Lebendenzellen zusammen und entscheidest anhand der Regeln ob die Zelle neues Leben erhält, weiter Lebt oder eben Stirbt.
 
Zuletzt bearbeitet:

Neue Themen


Oben