JC's Game Of Life | Lösungsansatz, wo liegt der Fehler?

Diskutiere JC's Game Of Life | Lösungsansatz, wo liegt der Fehler? im Programmierung Forum im Bereich Software Forum; Hallo zusammen, Ich habe mich mal an John Conways Game Of Life versucht und soweit, wie möglich verstanden. Hier ein Link für jemanden, der nicht...
L

Luddi

Threadstarter
Dabei seit
07.10.2008
Beiträge
51
Alter
26
Ort
NRW
Hallo zusammen,
Ich habe mich mal an John Conways Game Of Life versucht und soweit, wie möglich verstanden.
Hier ein Link für jemanden, der nicht weiß, was gemeint ist: http://de.wikipedia.org/wiki/Conways_Spiel_des_Lebens
SO, ich benutze C++ und bleibe vorerst in der Konsole ;)

Ich habe mir gedacht, ich erstelle zwei zweidimensionale Arrays von Typ bool, eines für den aktuellen Zustand und das nächste für den Zustand der nächsten Generation.
Anschließend wird für jede Zelle die Anzahl der Nachbarn geprüft und ausgewertet. Danach weiß man, ob die Zelle in der nächsten Generation lebt oder nicht und in das Array für die nächste Gen. geschrieben.
Am Ende muss nur noch der Zustand der nächsten Gen. auf die jetzige überschrieben und ausgegeben werden.

Soweit sieht mein Code dazu aus:

PHP:
#include <iostream>
using namespace std;

int main() {
    
    bool end;
    bool status[10][10], statusnext[10][10], lol;  //lol ist nicht zu beachten :)
    int times, nebeni, nebenj;
    
    
    for(int r=0; r<10; r++) {
       for(int s=0; s<10; s++) {
               status[r][s] = 0;
               statusnext[r][s] = 0;
           }
       }
       
       
    status[2][2]=1;  //probeweise die arrays beschreiben, sodass 
    status[3][2]=1;  //ein "Blinker" heraus kommen sollte
    status[4][2]=1;
    
        for(int o=0; o<10; o++) {
            for(int p=0; p<10; p++) {
                    cout<<status[o][p]<<" ";
                    }
            cout<<endl;
            }
            cout<<"-------------------"<<endl;
    
    cout<<"Wie oft soll geprueft werden?"<<endl;
    cin>>times;
    
//////////////////////////////////prüfen, schreiben usw, in einer schleife 

 do{   

    for(int i=1; i<9; i++) {
                     for(int j=1; j<9; j++) {  
                             int Nachbarn=0;
                                 nebeni=i;   //es wird immerwieder beschrieben, weil ich 
                                 nebenj=j;   //glaube, dass die In-/Dekrementation nicht wieder rückgängig gemacht wird ?!
                                   if(status[++nebeni][nebenj] == 1)
                                       Nachbarn++;
                                       nebeni=i;
                                       nebenj=j; 
                                   if(status[nebeni][++nebenj] == 1)
                                       Nachbarn++;
                                       nebeni=i;
                                       nebenj=j;  
                                   if(status[--nebeni][nebenj] == 1)
                                       Nachbarn++;
                                       nebeni=i;
                                       nebenj=j;  
                                   if(status[nebeni][--nebenj] == 1)
                                       Nachbarn++;
                                       nebeni=i;
                                       nebenj=j; 
                                   if(status[++nebeni][++nebenj] == 1)
                                       Nachbarn++;
                                       nebeni=i;
                                       nebenj=j; 
                                   if(status[--nebeni][--nebenj] == 1)
                                       Nachbarn++;
                                       nebeni=i;
                                       nebenj=j;  
                                   if(status[++nebeni][--nebenj] == 1)
                                       Nachbarn++;
                                       nebeni=i;
                                       nebenj=j;  
                                   if(status[--nebeni][++nebenj] == 1)
                                       Nachbarn++; 
                                       
                                       // Anzahl der Nachbarn prüfen
                                       if(status[i][j]=1) {
                                          if((Nachbarn == 2) || (Nachbarn == 3))
                                            statusnext[i][j] = 1; 
                                          else
                                            statusnext[i][j] = 0;
                                       }
                                       else {
                                            if(Nachbarn == 3)
                                              statusnext[i][j] = 1;
                                            else
                                              statusnext[i][j] = 0;
                                       }
                                         
                              }
           }
           
           
    for(int k=0; k<10; k++) {
            for(int l=0; l<10; l++) {
                    
    status[k][l] = statusnext[k][l]; //überschreiben
  }
 }

 //display
    for(int o=0; o<10; o++) {
            for(int p=0; p<10; p++) {
                    cout<<status[o][p]<<" ";
                    }
            cout<<endl;
            }
            cout<<"-------------------"<<endl;
 
 times--;  // umfang für die anzahl der zu prüfenden Generationen
 if(times <= 0) 
    end=true;
} while (end == false);

cin>>lol; // mir ist noch nichts besseres eingefallen ;)
}
Man könnte das Ganze natürlich auch in Funktionen und Klassen verwirklichen,
ich hoffe aber, dass klar wird, was ich mir wie vorgestellt habe.

Jetzt hoffe ich, dass jemand den Fehler findet und mir erklärt worin er besteht, ich hoffe, man sieht dass ich mir schon ordentlich Gedanken gemacht und nicht irgendetwas aus dem www kopiert habe ;)

Vielen Dank im Voraus.

P.S. Ich habe dass Cpp Dokument auch angehangen.
 

Anhänge

Thema:

JC's Game Of Life | Lösungsansatz, wo liegt der Fehler?

JC's Game Of Life | Lösungsansatz, wo liegt der Fehler? - Ähnliche Themen

  • Half-Life 3 könnte ein Open-World-Game werden

    Half-Life 3 könnte ein Open-World-Game werden: Eigentlich sollte Half-Life in regelmäßigen Episoden weitergeführt werden, aber nach "Episode 2" wurde die Serie trotz nicht abgeschlossener...
  • Gnome Chompski: The Game - Trailer zum fiktiven Spiel des Half-Life-Gartenzwergs

    Gnome Chompski: The Game - Trailer zum fiktiven Spiel des Half-Life-Gartenzwergs: Hallo. Das Fan-Projekt Fine Leather Jackets hat dem Gartenzwerg aus Half-Life 2: Episode 2 und Left 4 Dead 2 zwar kein eigenes Spiel, aber...
  • Prombleme beim installieren von verschiedenen game pass spielen

    Prombleme beim installieren von verschiedenen game pass spielen: Hallo Ich habe mir denn kostenlosen game pass für 14 tage geholt und wollte mir diesen auch kostenpflichtig erwerben nur bei denn verschiedensten...
  • Bluescreen aufgrund von Game Downloads

    Bluescreen aufgrund von Game Downloads: Hallo zusammen, Ich hab ein "kleines" Problem mit Windows und zwar wird mir nach 10 bis 15 min Spiel downloads ein Bluescreen angezeigt mit dem...
  • Ähnliche Themen
  • Half-Life 3 könnte ein Open-World-Game werden

    Half-Life 3 könnte ein Open-World-Game werden: Eigentlich sollte Half-Life in regelmäßigen Episoden weitergeführt werden, aber nach "Episode 2" wurde die Serie trotz nicht abgeschlossener...
  • Gnome Chompski: The Game - Trailer zum fiktiven Spiel des Half-Life-Gartenzwergs

    Gnome Chompski: The Game - Trailer zum fiktiven Spiel des Half-Life-Gartenzwergs: Hallo. Das Fan-Projekt Fine Leather Jackets hat dem Gartenzwerg aus Half-Life 2: Episode 2 und Left 4 Dead 2 zwar kein eigenes Spiel, aber...
  • Prombleme beim installieren von verschiedenen game pass spielen

    Prombleme beim installieren von verschiedenen game pass spielen: Hallo Ich habe mir denn kostenlosen game pass für 14 tage geholt und wollte mir diesen auch kostenpflichtig erwerben nur bei denn verschiedensten...
  • Bluescreen aufgrund von Game Downloads

    Bluescreen aufgrund von Game Downloads: Hallo zusammen, Ich hab ein "kleines" Problem mit Windows und zwar wird mir nach 10 bis 15 min Spiel downloads ein Bluescreen angezeigt mit dem...
  • Oben