Witam, mam problem z warunkami brzegowymi w grze w życie. Chciałbym, aby komórki brzegowe były połączone z przeciwległymi, coś jak w grze snake. Ma ktoś jakiś pomysł?
public void step(){
System.out.println("Jeden krok");
boolean[][] nowaSiatka = new boolean[WIDTH][HEIGHT];
for (int x = 0; x < siatka.length; x++){
for (int y = 0; y < siatka.length; y++){
int licznikSasiadow = 0; //sprawdzanie sasiadów
if (y > 0 && siatka[x][y-1] == true){ //dol
licznikSasiadow++;
}
if (y < WIDTH - 1 && siatka[x][y+1] == true){ //gora
licznikSasiadow++;
}
if (x > 0 && siatka[x-1][y] == true) { //lewo
licznikSasiadow++;
}
if (x < HEIGHT - 1 && siatka[x+1][y] == true){ //prawo
licznikSasiadow++;
}
if (x < HEIGHT - 1 && y > 0 && siatka[x+1][y-1] == true){ //prawo dol
licznikSasiadow++;
}
if (x < HEIGHT - 1 && y < WIDTH - 1 && siatka[x+1][y+1] == true){ //prawo gora
licznikSasiadow++;
}
if (x > 0 && y > 0 && siatka[x-1][y-1] == true){ //lewo dol
licznikSasiadow++;
}
if (x > 0 && y < WIDTH - 1 && siatka[x-1][y+1] == true){ //lewo gora
licznikSasiadow++;
}
//Zasady Gra w Zycie
if (siatka[x][y] == true) { //jezeli sa zywi
if (licznikSasiadow == 2 || licznikSasiadow == 3) { //jezeli dwoch lub trzech sasiadow
nowaSiatka[x][y] = true; //przezyja w kolejnym kroku
}
else {
nowaSiatka[x][y] = false; //umra w kolejnym kroku
}
}
//wiecej zasad smierci
else {
if (licznikSasiadow == 3){
nowaSiatka[x][y] = true;
}
}
}
<code=java></code>