D
dennis21
Gast
Moin Leute ich hab ein Probelm die aufgabe lautet
1.Erweitern Sie Ihre Life-Klasse um die Möglichkeit, dass die Ausgabe der
Spielsituationen nicht nur auf dem Bildschirm erfolgt, sondern auch in einer
Datei Life_sim.txt. Dabei soll die gleiche print Methode für die
Ausgabe auf dem Bildschirm und in der Datei verwendet werden (Parameter für
print einführen).
könntet ihr mir evtuell hilfe leisten
1.Erweitern Sie Ihre Life-Klasse um die Möglichkeit, dass die Ausgabe der
Spielsituationen nicht nur auf dem Bildschirm erfolgt, sondern auch in einer
Datei Life_sim.txt. Dabei soll die gleiche print Methode für die
Ausgabe auf dem Bildschirm und in der Datei verwendet werden (Parameter für
print einführen).
könntet ihr mir evtuell hilfe leisten
Code:
/* Game_of_Life.java */
class life{
boolean[][] booleanArray= new boolean[24][80];
public void init(){
for(int x=0;x<booleanArray.length;x++){
for(int y=0;y<booleanArray[x].length;y++){
booleanArray[x][y]=(Math.random() > 0.5);
}
}
}
public void init_f_Pentomino(){
booleanArray[12][40]=true;
booleanArray[13][40]=true;
booleanArray[14][40]=true;
booleanArray[12][41]=true;
booleanArray[13][39]=true;
}
public void init_example(){
booleanArray[5][40]=true;
booleanArray[5][41]=true;
booleanArray[5][42]=true;
booleanArray[6][40]=true;
booleanArray[6][42]=true;
booleanArray[7][40]=true;
booleanArray[7][42]=true;
booleanArray[9][40]=true;
booleanArray[9][42]=true;
booleanArray[10][40]=true;
booleanArray[10][42]=true;
booleanArray[11][40]=true;
booleanArray[11][41]=true;
booleanArray[11][42]=true;
}
public void print(){
for(int x=0; x<booleanArray.length; x++){
for(int y=0; y<booleanArray[x].length; y++){
System.out.print((booleanArray[x][y]== true) ? (char)9679 : ' ');
}
System.out.println();
}
}
public void new_round(){
boolean[][] bkp_booleanArray= new boolean[booleanArray.length][booleanArray[0].length];
for(int x=0;x<booleanArray.length;x++){
for(int y=0;y<booleanArray[x].length;y++){
int counter=booleanArray[x][y] ? -1 : 0;
for(int neightb_x=x-1; neightb_x<=x+1; neightb_x++){
for(int neightb_y=y-1; neightb_y<=y+1; neightb_y++){
counter=booleanArray[(neightb_x+booleanArray.length)%booleanArray.length][(neightb_y+booleanArray[0].length)%booleanArray[0].length] ? ++counter : counter;
}
}
bkp_booleanArray[x][y]=(booleanArray[x][y]==true && (counter==2 || counter==3)) ? true : (booleanArray[x][y]==true && (counter<2 || counter>3)) ? false : (counter==3 && booleanArray[x][y]==false) ? true : false;
counter=0;
}
}
booleanArray=bkp_booleanArray;
}
}
public class Game_of_Live{
public static void main(String[] args){
life game=new life();
game.init();
while(true){
try{
game.print();
Thread.sleep(125);
System.out.print((char)27 + "[2J" + (char)27 + "[0;0f");
}
catch(InterruptedException e){
System.err.println(e.toString());
}
game.new_round();
}
}
}