Autor Beitrag
LINUS19
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 156
Erhaltene Danke: 1

Windows 10, 7
Java(Eclipse)
BeitragVerfasst: Sa 16.12.17 22:18 
Hallo,
Ich wollte in Java das Game of life erstmal auf der Konsole machen, mit einer zufälligen Starkonstellation an lebendigen und toten Zellen doch die Methode Weltausgeben funktioniert nicht wirklich.


ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
import java.util.*;
public class GameofLife {    
  static int x=10;
  static int y=10;
    
  public static boolean [][] Welterstellen() {  // 60 Prozent sollen am Anfang lebendig sein
    boolean[][] welt= new boolean[x][y];
    
    for(int i=1; i<x-1; i++) { // ohne den Rand
      for(int j=1; j<y-1; j++) {
        
        if(Math.random() > 0.4) {
          welt[i][j]=true; // Zelle lebendig
        }
        else
          welt[i][j]=false; // Zelle tot          
      }
    }        
    return welt;    
  }
  
  public static void Weltausgeben(boolean welt[][]) {

    for(int i=1; i<x-1; i++) { // ohne den Rand
      
      for(int j=1; j<y-1; j++) {              
        
        if(welt[i][j]==true) 
        System.out.print("X"); // Zelle lebendig                
        
        else 
          System.out.println("O");  //Zelle tot                                
      
      }
    System.out.println();
    }  
  }
  
  public static boolean[][] wendeRegelnAn(boolean welt[][]) {    
    return welt;    
  }
  
  public static void main(String[] args) {      
      boolean welt[][] = Welterstellen();
      Weltausgeben(welt);
      
  }
}


LG
LINUS19
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Chefentwickler
Beiträge: 20239
Erhaltene Danke: 2050

Win 10
C# (VS 2017)
BeitragVerfasst: Sa 16.12.17 22:37 
Du hast es mal wieder versäumt, Dein Problem konkret zu beschreiben. So kann es nicht weiter gehen. Es kann nicht sein, dass bei Deinen Fragen eigentlich immer erst einmal ein Ratespiel losgeht, was denn nicht funktioniert. Das muss besser werden!

Welches Verahlten der Methode erwartest Du?
Welches Verhalten siehst Du stattdessen?
Was hast Du bisher versucht, um das Problem zu lösen?
Welche Erkenntnisse hast Du dabei gewonnen?
Wo kommst Du nicht weiter?

Wenn Du willst, dass sich jemand die Zeit nimmt, Dir zu helfen, ist das mindestese, dass Du Dir die Zeit nimmst, Dein Problem sauber und mit möglichst vielen Informationen zu beschreiben. :mahn:

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
LINUS19 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 156
Erhaltene Danke: 1

Windows 10, 7
Java(Eclipse)
BeitragVerfasst: Sa 16.12.17 23:01 
Die Ausgabe(Weltausgeben) funktioniert nicht wirklich, es soll eigentlich als Quadrat ausgegeben werden ,stattdessen werden bei jedem Durchlauf die Zellen anders ausgegeben. Der Fehler muss also bei den For schleifen liegen.
Sorry das ich es so ungenau beschrieben hab, hoffe es ist jetzt besser verständlich.
Jann1k
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 866
Erhaltene Danke: 43

Win 7
TurboDelphi, Visual Studio 2010
BeitragVerfasst: Sa 16.12.17 23:17 
Du hast System.out.println("O"); verwendet wo eigentlich auch System.out.print("O"); richtig wäre.

Das es jedesmal anders aussieht, liegt daran, dass die Zeilenumbrüche im Moment abhängen vom Status der Zellen.

Für diesen Beitrag haben gedankt: LINUS19