#include #include #include using namespace std; int main() { //int kolumny; //int wiersze; /* cout << "podaj ilosc kolumn: " << endl; cin >> kolumny; cout << "podaj ilosc wierszy: " << endl; cin >> wiersze; string ** plansza = new string *[wiersze]; for (int i = 0; i < wiersze; i++) { plansza[i] = new string[kolumny]; } */ //ilość wierszy: 12 //ilość kolumn: 20 /* .................... .................... .................... .................... .......X.XX......... .......XXX.......... ........X........... .................... .................... .................... .................... .................... */ string plansza[12]; fstream plik; plik.open("gra.txt"); for (int i = 0; i < 12; i++) { plik >> plansza[i]; //cout << plansza[i] << endl; } string pokolenieprzed[12]; string pokoleniepo[12][20]; for (int i = 0; i < 12; i++) { pokolenieprzed[i]=plansza[i]; //cout << pokolenieprzed[i] << endl; } for (int i = 0; i < 37; i++) { cout << "Pokolenie " << i + 1 << ":" << endl; for (int j = 0; j < 12; j++) cout << pokolenieprzed[j]<= 0) { if (pokolenieprzed[11][k-1] == 'X') licznikzyw++; } if (j - 1 >= 0 && k - 1 < 0) { if (pokolenieprzed[j-1][19] == 'X') licznikzyw++; } if (j - 1 >= 0 && k - 1 >= 0) { if (pokolenieprzed[j-1][k-1] == 'X') licznikzyw++; } //cout << licznikzyw << " "; //góra-prawa if (j - 1 < 0 && k + 1 == 20) { if (pokolenieprzed[11][0] == 'X') licznikzyw++; } if (j - 1 < 0 && k + 1 < 20) { if (pokolenieprzed[11][k + 1] == 'X') licznikzyw++; } if (j - 1 >= 0 && k + 1 == 20) { if (pokolenieprzed[j - 1][0] == 'X') licznikzyw++; } if (j - 1 >= 0 && k + 1 < 20) { if (pokolenieprzed[j - 1][k + 1] == 'X') licznikzyw++; } //cout << licznikzyw << " "; //dół-lewa if (j + 1 == 12 && k - 1 < 0) { if (pokolenieprzed[0][19] == 'X') licznikzyw++; } if (j + 1 == 12 && k - 1 >= 0) { if (pokolenieprzed[0][k - 1] == 'X') licznikzyw++; } if (j + 1 < 12 && k - 1 < 0) { if (pokolenieprzed[j + 1][19] == 'X') licznikzyw++; } if (j + 1 < 12 && k - 1 >= 0) { if (pokolenieprzed[j + 1][k - 1] == 'X') licznikzyw++; } //cout << licznikzyw << " "; //dół-prawa if (j + 1 == 12 && k + 1 == 20) { if (pokolenieprzed[0][0] == 'X') licznikzyw++; } if (j + 1 == 12 && k + 1 < 20) { if (pokolenieprzed[0][k + 1] == 'X') licznikzyw++; } if (j + 1 < 12 && k + 1 == 20) { if (pokolenieprzed[j + 1][0] == 'X') licznikzyw++; } if (j + 1 < 12 && k + 1 < 20) { if (pokolenieprzed[j + 1][k + 1] == 'X') licznikzyw++; } //cout << licznikzyw << " "; //PODSUMOWANIE if (licznikzyw == 3) pokoleniepo[j][k] = 'X'; if (licznikzyw != 3 && licznikzyw != 2) pokoleniepo[j][k] = '.'; } } for (int j = 0; j < 12; j++) { string linijka; for (int k = 0; k < 20; k++) { linijka = linijka + pokoleniepo[j][k]; } pokolenieprzed[j] = linijka; } } system("PAUSE"); return 0; }