#include #include #include #include using namespace std; class Game{ protected: string g_Player, g_Player_1, g_Fields[3 * 3 + 1], g_Sign, g_Now; bool g_GameFinish, g_GetNames; int g_Move, g_Board, g_Want, g_TimeRun[2]; public: void g_StartGame(){ g_WelcomeScreen(); g_TimeRun[0] = time(0); if(!g_GetNames){ cout << "n*************************************************n" << "* *n" << "* *n" << "* Podaj nick gracza pierwszego: *n" << "* *n" << "* *n" << "*************************************************nnn"; getline(cin, g_Player); cout << "n*************************************************n" << "* *n" << "* *n" << "* Podaj nick gracza drugiego: *n" << "* *n" << "* *n" << "*************************************************nnn"; getline(cin, g_Player_1); g_GetNames = true; g_ClearScreen(); g_WelcomeScreen(); } for(int i = 0; i < 9; i++) g_Fields[i] = 49 + i; g_DrawBoard(); g_RunGame(); } void g_WelcomeScreen(){ cout << "n*************************************************n" << "* *n" << "* *n" << "* Kolko i Krzyzk ( 0.1 ) *n" << "* Autor : speedkill *n" << "* *n" << "* *n" << "*************************************************nnn"; } void g_DrawBoard(){ cout<<"|-----------------|n"; for(int i = 0; i < 9; i++){ cout<<"| " <>g_Board){ bool g_Number = g_Board >= 1 && g_Board <= 9 ? true : false; if(g_Number){ bool g_Empty = g_Fields[g_Board - 1] == "X" ? true : g_Fields[g_Board - 1] == "O" ? true : false; if(!g_Empty){ g_Fields[g_Board - 1] = " "; g_Fields[g_Board - 1] = g_Sign; g_ClearScreen(); } else{ g_ClearScreen(); cout << "n*************************************************n" << "* *n" << "* *n" << "* Blad ! To pole jest juz zajete. *n" << "* *n" << "* *n" << "*************************************************nnn"; g_WelcomeScreen(); g_DrawBoard(); g_PlayGame(); } } else{ g_ClearScreen(); cout << "n*************************************************n" << "* *n" << "* *n" << "* Tylko liczby ( 1 - 9 ) ! *n" << "* *n" << "* *n" << "*************************************************nnn"; g_WelcomeScreen(); g_DrawBoard(); g_PlayGame(); } } else{ g_ClearScreen(); cout << "n*************************************************n" << "* *n" << "* *n" << "* Tylko liczby ( 1 - 9 ) ! *n" << "* *n" << "* *n" << "*************************************************nnn"; cin.clear(); cin.ignore(numeric_limits::max(), 'n'); g_WelcomeScreen(); g_DrawBoard(); g_PlayGame(); } } void g_BoardCheck(){ g_GameFinish = false; for(int i = 0; i < 9; i+=3){ if(g_Fields[i] == g_Sign && g_Fields[i + 1] == g_Sign && g_Fields[i + 2] == g_Sign){ g_GameFinish = true; } } for(int i = 0; i < 3; i++){ if(g_Fields[i] == g_Sign && g_Fields[i + 3] == g_Sign && g_Fields[i + 6] == g_Sign){ g_GameFinish = true; } } if(g_Fields[0] == g_Sign && g_Fields[4] == g_Sign && g_Fields[8] == g_Sign) g_GameFinish = true; if(g_Fields[2] == g_Sign && g_Fields[4] == g_Sign && g_Fields[6] == g_Sign) g_GameFinish = true; if(g_GameFinish){ g_Move = 9; g_ClearScreen(); g_WelcomeScreen(); cout << "n*************************************************n" << "* *n" << "* Gratulacje ! *n" << " Wygral gracz "<>g_Want; if(g_Want == 1){ swap(g_Player, g_Player_1); g_Reset(); } } void g_Reset(){ g_Want = 0; g_TimeRun[1] = g_TimeRun[0] = 0; g_GameFinish = false; g_StartGame(); } void g_ClearScreen(){ system("cls"); } }; main(){ Game * Start = new Game; Start -> g_StartGame(); /* Próba wyciągnięcia zmiennej chronionej i pokazanie jej poza obszarem klasy. string g_Name = Start -> g_Player; cout<