Hallo zusammen,
ich möchte Conway's Game of life so prammieren, so dass die Feldgröße so wie die Anfangs lebendigen Zellen von einer txt Datei ausgelesen werden und in ein 2D Array gespeichert wird. Leider habe ich damit einige Probleme.
Die txt Datei sieht so aus:
x=65
y=33
29,14
29,15
29,16
30,14
usw...
Also sollen mir die ersten beiden Werte die Feldgröße des 2D Arrays vermitteln und der Rest sollen Koordinaten sein wo sich am Anfang meine lebenden Zellen befinden. Anschließend werden die Regeln angewendet und das Ergebnis weider in eine txt Datei ausgegeben. Schwierigkeiten bereitet mir zunächst das Einlesen, da ich nicht genau weiß wie ich von einem String in ein 2D Boolean Array komme. Ich weiß nur das ich Funktionen wie split() und trim() benutzen muss aber weiß nicht genau wie und wo. Vielleicht kann mir jemand helfen habe bereits sämtliche Foren durchsucht und Videos angeschaut leider nichts gefunden was mir weiterhilft. Bisher habe ich folgendes:
Ausgabe:
X X O O O O O O O O
X X O O O O O O O O
X X O O O O O O O O
O O O O O O O O O O
O O O O O O O O O O
O O O O O O O O O O
O O O O O O O O O O
O O O O O O O O O O
O O O O O O O O O O
Die Ausgabe macht er irgendwie da ich nicht weiß wie ich ihm klar mache das er die txt Datei Werte als 2D Array Koordinaten betrachten soll.
ich möchte Conway's Game of life so prammieren, so dass die Feldgröße so wie die Anfangs lebendigen Zellen von einer txt Datei ausgelesen werden und in ein 2D Array gespeichert wird. Leider habe ich damit einige Probleme.
Die txt Datei sieht so aus:
x=65
y=33
29,14
29,15
29,16
30,14
usw...
Also sollen mir die ersten beiden Werte die Feldgröße des 2D Arrays vermitteln und der Rest sollen Koordinaten sein wo sich am Anfang meine lebenden Zellen befinden. Anschließend werden die Regeln angewendet und das Ergebnis weider in eine txt Datei ausgegeben. Schwierigkeiten bereitet mir zunächst das Einlesen, da ich nicht genau weiß wie ich von einem String in ein 2D Boolean Array komme. Ich weiß nur das ich Funktionen wie split() und trim() benutzen muss aber weiß nicht genau wie und wo. Vielleicht kann mir jemand helfen habe bereits sämtliche Foren durchsucht und Videos angeschaut leider nichts gefunden was mir weiterhilft. Bisher habe ich folgendes:
Java:
public class Test_Array {
static int [][] testwelt;
static {
java.lang.String sTemp;
int i,j;
testwelt = new int [10][10];
try {
// Datei öffnen
java.io.BufferedReader oReader = new java.io.BufferedReader(new java.io.InputStreamReader(new java.io.FileInputStream(new java.io.File("A:\\test.txt"))));
// Zeile für Zeile einlesen
i=0;
while ((sTemp = oReader.readLine()) != null) {
// Zeile in Einzelteile zerlegen (wir trennen durch ,
java.util.StringTokenizer stWerte = new java.util.StringTokenizer(sTemp,",");
j=0;
// Nun eintragen in den Array. Es wird nicht überprüft, ob die Grenzen überschritten werden!
while(stWerte.hasMoreTokens()) {
testwelt[j] = java.lang.Integer.parseInt(stWerte.nextToken());
j++;
}
i++;
}
} catch (java.io.FileNotFoundException e) {
e.printStackTrace(); //Fehler ausdrucken
} catch (java.io.IOException e) {
e.printStackTrace(); //Fehler ausdrucken
}
}
public static void main(String args[]) {
for (int i=0;i<testwelt.length;i++){
for (int j=0;j<testwelt.length;j++){
// "X" bedeutet lebendige Zelle
if (testwelt [j] != 0){
System.out.print("X" + " ");
} else {
System.out.print("O" + " ");
}
}
System.out.println();
}
}
}
Ausgabe:
X X O O O O O O O O
X X O O O O O O O O
X X O O O O O O O O
O O O O O O O O O O
O O O O O O O O O O
O O O O O O O O O O
O O O O O O O O O O
O O O O O O O O O O
O O O O O O O O O O
Die Ausgabe macht er irgendwie da ich nicht weiß wie ich ihm klar mache das er die txt Datei Werte als 2D Array Koordinaten betrachten soll.
Zuletzt bearbeitet von einem Moderator: