Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #include <windows.h>
- using namespace std;
- void pos(short C, short R)
- {
- COORD xy ;
- xy.X = C ;
- xy.Y = R ;
- SetConsoleCursorPosition(
- GetStdHandle(STD_OUTPUT_HANDLE), xy);
- }
- void cls()
- {
- pos(0,0);
- for(int j=0; j<100; j++)
- cout << string(100, ' ');
- pos(0,0);
- }
- class TicTacToe
- {
- private:
- string **remiza;
- char **sfarsitjoc;
- public:
- int n;
- char **a;
- char jucator, calculator;
- TicTacToe(int dim)
- {
- n = dim;
- a = new char*[n];
- for(int i = 0; i < n; i++)
- {
- a[i] = new char[n];
- for(int j = 0; j < n; j++)
- a[i][j] = ' ';
- }
- remiza = new string*[50];
- for(int i = 0; i < 50; i++)
- remiza[i] = new string[50];
- }
- void AsteaptaNSecunde(int secunde);
- void AfisareBineAiVenit();
- void AfisareTabla();
- void AfisarePozitii();
- void AfisareMesajeRemiza();
- void AfisareMesajeSfarsitJoc();
- void InstructiuniDeInceput();
- void DateGresite();
- void AlegereJucator();
- int AlegereOrdine();
- void VerificarePozitiiGresite(int i, int j);
- void Muchie12(); ///Dupa PrimaMutareCalculatorMijloc
- void Muchie23(); ///Dupa PrimaMutareCalculatorMijloc
- void Muchie32(); ///Dupa PrimaMutareCalculatorMijloc
- void Muchie21(); ///Dupa PrimaMutareCalculatorMijloc
- void Colt11(); ///Dupa PrimaMutareCalculatorMijloc
- void Colt13(); ///Dupa PrimaMutareCalculatorMijloc
- void Colt33(); ///Dupa PrimaMutareCalculatorMijloc
- void Colt31(); ///Dupa PrimaMutareCalculatorMijloc
- void PrimaMutareCalculatorMijloc();
- void MIJLOC_ADouaMutareJucatorMuchie12();
- void MIJLOC_ADouaMutareJucatorMuchie23();
- void MIJLOC_ADouaMutareJucatorMuchie32();
- void MIJLOC_ADouaMutareJucatorMuchie21();
- void MIJLOC_ADouaMutareJucatorColt11();
- void MIJLOC_ADouaMutareJucatorColt13();
- void MIJLOC_ADouaMutareJucatorColt31();
- void PrimaMutareJucatorMIJLOC();
- void PrimaMutareJucatorMuchie();
- void PrimaMutareJucatorColt();
- };
- int main()
- {
- TicTacToe joc(3);
- joc.AfisareBineAiVenit();
- ///joc.Initializare(3);
- joc.InstructiuniDeInceput();
- joc.AlegereJucator();
- if(joc.AlegereOrdine() == 1)
- joc.PrimaMutareCalculatorMijloc(); ///calculator muta primul
- else ///jucator muta primul
- {
- int x,y;
- cls();
- joc.AfisareTabla();
- cout<<"\nCare este prima ta mutare? \n\n";
- cin>>x>>y;
- joc.VerificarePozitiiGresite(x,y);
- joc.a[x-1][y-1] = joc.jucator;
- joc.AfisareTabla();
- if(x == 2 && y == 2)
- joc.PrimaMutareJucatorMIJLOC();
- else if((x + y) % 2 == 1)
- joc.PrimaMutareJucatorMuchie();
- else
- joc.PrimaMutareJucatorColt();
- }
- return 0;
- }
- inline void TicTacToe :: AsteaptaNSecunde(int secunde)
- {
- int limita;
- time_t now;
- now = time(0);
- limita = now + secunde;
- while(now < limita)
- now = time(0);
- }
- /**inline void TicTacToe :: Initializare(int dim)
- {
- n = dim;
- a = new char*[n];
- for(int i = 0; i < n; i++)
- a[i] = new char[n];
- }*/
- inline void TicTacToe :: AfisareBineAiVenit()
- {
- cout<<"\n\n";
- cout<<" ____ ____ _ __ ______ ___ ____ _ __ ______ _ __ ____ ______ __\n";
- cout<<" / __ ) / _/ / | / / / ____/ / | / _/ | | / / / ____/ / | / / / _/ /_ __/ / /\n";
- cout<<" / __ | / / / |/ / / __/ / /| | / / | | / / / __/ / |/ / / / / / / / \n";
- cout<<" / /_/ / _/ / / /| / / /___ / ___ | _/ / | |/ / / /___ / /| / _/ / / / /_/ \n";
- cout<<"/_____/ /___/ /_/ |_/ /_____/ /_/ |_|/___/ |___/ /_____/ /_/ |_/ /___/ /_/ (_) \n";
- cout<<"\n";
- AsteaptaNSecunde(4);
- cls();
- }
- inline void TicTacToe :: AfisareTabla()
- {
- cout<<"\n";
- cout<<"\t | | \n";
- cout<<"\t "<<a[0][0]<<" | "<<a[0][1]<<" | "<<a[0][2]<<"\n";
- cout<<"\t_____|_____|_____\n";
- cout<<"\t | | \n";
- cout<<"\t "<<a[1][0]<<" | "<<a[1][1]<<" | "<<a[1][2]<<"\n";
- cout<<"\t_____|_____|_____\n";
- cout<<"\t | | \n";
- cout<<"\t "<<a[2][0]<<" | "<<a[2][1]<<" | "<<a[2][2]<<"\n";
- cout<<"\t | | \n\n";
- }
- inline void TicTacToe :: AfisarePozitii()
- {
- cout<<"\n";
- cout<<"\t | | \n";
- cout<<"\t 1 1 | 1 2 | 1 3 \n";
- cout<<"\t_____|_____|_____\n";
- cout<<"\t | | \n";
- cout<<"\t 2 1 | 2 2 | 2 3 \n";
- cout<<"\t_____|_____|_____\n";
- cout<<"\t | | \n";
- cout<<"\t 3 1 | 3 2 | 3 3 \n";
- cout<<"\t | | \n\n";
- }
- inline void TicTacToe :: AfisareMesajeRemiza()
- {
- }
- inline void TicTacToe :: AfisareMesajeSfarsitJoc()
- {
- }
- inline void TicTacToe :: InstructiuniDeInceput()
- {
- cout<<"\n";
- cout<<"X si O este un joc pentru doi jucatori, X respectiv O, \n";
- cout<<"care marcheaza pe rand cate o casuta dintr-un tabel cu \n";
- cout<<"3 linii si 3 coloane. Jucatorul care reuseste primul sa \n";
- cout<<"marcheze 3 casute adiacente pe orizontala, verticala \n";
- cout<<"sau diagonala castiga jocul. \n\n";
- cout<<"Asa arata tabla pe care vei juca astazi: \n";
- AfisareTabla();
- cout<<" \n";
- cout<<"Pentru a marca un patrat, trebuie sa introduci \n";
- cout<<"pozitia corespunzatoare patratului pe care vrei\n";
- cout<<"sa il marchezi. \n";
- cout<<"Acestea sunt pozitiile patratelor tablii de joc: \n";
- AfisarePozitii();
- cout<<"De exemplu, daca introduci pozitia 2 3 \n";
- cout<<"tabla de joc va arata asa dupa marcare: \n";
- a[1][2] = 'X';
- AfisareTabla();
- a[1][2] = ' ';
- cout<<" \n";
- cout<<"ATENTIE! Pozitiile vor fi introduse ca doua numere \n";
- cout<<"separate prin spatiu. Orice alt mod de introducere a \n";
- cout<<"datelor nu va fi luat in considerare!\n";
- cout<<"exemplu: 2 3 sau 3 1 si nu 2,3 sau 3;1\n";
- cout<<" \n";
- cout<<"Sa incepem! Scrie X daca vrei sa fii juatorul care \n";
- cout<<"va folsi X sau scrie O in caz contrar. \n";
- cout<<" \n";
- }
- inline void TicTacToe :: DateGresite()
- {
- cout<<"\n\nDATE DE INTRARE GRESITE!\n\n";
- exit(0);
- }
- inline void TicTacToe :: AlegereJucator()
- {
- /// daca pune "X asd" nu e bine ca mai citesc chestii dupa :(
- char c[2];
- cin>>c;
- if(c[1] != NULL)
- DateGresite();
- if(c[0] == 'X' || c[0] == 'x')
- {
- jucator = 'X';
- calculator = 'O';
- }
- else if(c[0] == 'O' || c[0] == 'o')
- {
- jucator = 'O';
- calculator = 'X';
- }
- else
- DateGresite();
- cout<<" \n";
- }
- inline int TicTacToe :: AlegereOrdine()
- {
- /// daca pune "DA asd" nu e bine ca mai citesc chestii dupa :(
- cout<<"Vrei sa fii primul care marcheaza? ( Raspuns: DA / NU )\n\n";
- char c[5];
- cin>>c;
- cout<<"\n";
- if((c[0] == 'D' || c[0] == 'd') && (c[1] == 'A' || c[1] == 'a'))
- return 0;
- else if((c[0] == 'N' || c[0] == 'n') && (c[1] == 'U' || c[1] == 'u'))
- return 1;
- else
- DateGresite();
- return 1;
- }
- inline void TicTacToe :: VerificarePozitiiGresite(int i, int j)
- {
- if(i < 1 || j < 1 || i > n || j > n)
- {
- cout<<"\nPatratul de la pozitia "<<i<<" "<<j<<" nu se afla pe tabla de joc!\n";
- cout<<"Pentru ca ai incercat sa fentezi sistemul vei fi penalizat cu un joc pierdut!\n";
- cout<<"Chiar daca nu ai avut intentii rele, tot esti penalizat pentru ca nu ai fost atent!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- else if(a[i-1][j-1] == 'X' || a[i-1][j-1] == 'O')
- {
- cout<<"\nPatratul de la pozitia "<<i<<" "<<j<<" este deja ocupat!\n";
- cout<<"Pentru ca ai incercat sa fentezi sistemul vei fi penalizat cu un joc pierdut!\n";
- cout<<"Chiar daca nu ai avut intentii rele, tot esti penalizat pentru ca nu ai fost atent!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- }
- inline void TicTacToe :: Muchie12() ///Dupa Prima Mutare Calculator Mijloc
- {
- int x,y;
- a[0][2] = calculator;
- cls();
- AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls();
- AfisareTabla();
- if(x != 3 || y != 1)
- {
- a[2][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[2][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x == 1 && y == 1)
- {
- a[1][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 2 && y == 2)
- {
- a[0][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[0][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- inline void TicTacToe :: Muchie23() ///Dupa Prima Mutare Calculator Mijloc
- {
- int x,y;
- a[2][2] = calculator;
- cls();
- AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls();
- AfisareTabla();
- if(x != 1 || y != 1)
- {
- a[0][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[2][0] = calculator;
- cls();
- AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls();
- AfisareTabla();
- if(x == 1 && y == 3)
- {
- a[2][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 2 && y == 1)
- {
- a[0][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[0][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- inline void TicTacToe :: Muchie32() ///Dupa Prima Mutare Calculator Mijloc
- {
- int x,y;
- a[2][0] = calculator;
- cls();
- AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls();
- AfisareTabla();
- if(x != 1 || y != 3)
- {
- a[0][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[0][0] = calculator;
- cls();
- AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls();
- AfisareTabla();
- if(x == 2 && y == 1)
- {
- a[2][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 3 && y == 3)
- {
- a[1][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[1][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- inline void TicTacToe :: Muchie21() ///Dupa Prima Mutare Calculator Mijloc
- {
- int x,y;
- a[0][0] = calculator;
- cls();
- AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls();
- AfisareTabla();
- if(x != 3 || y != 3)
- {
- a[2][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[0][2] = calculator;
- cls();
- AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls();
- AfisareTabla();
- if(x == 1 && y == 2)
- {
- a[2][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 3 && y == 1)
- {
- a[0][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[0][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- inline void TicTacToe :: Colt11() ///Dupa Prima Mutare Calculator Mijloc
- {
- int x,y;
- a[2][2] = calculator;
- cls();
- AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls();
- AfisareTabla();
- if((x + y) % 2 == 1) ///pune pe muchie
- {
- if(x == 1 && y == 2) ///sus
- {
- a[0][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x == 2 && y == 3)
- {
- a[2][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 3 && y == 1)
- {
- a[1][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[1][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 3 && y == 2) ///jos
- {
- a[0][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x == 3 && y == 1)
- {
- a[1][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 2 && y == 3)
- {
- a[2][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[1][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 2 && y == 1) ///stanga
- {
- a[2][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x == 1 && y == 3)
- {
- a[2][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 3 && y == 2)
- {
- a[0][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[0][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 2 && y == 3) ///dreapta
- {
- a[2][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x == 1 && y == 3)
- {
- a[2][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 3 && y == 2)
- {
- a[0][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[0][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- }
- else ///pune pe colt
- {
- if(x == 1 && y == 3) ///dreapta sus
- {
- a[0][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x != 3 || y != 2)
- {
- a[2][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[1][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x != 2 || y != 1)
- {
- a[1][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[2][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 3 && y == 1) ///stanga jos
- {
- a[1][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x != 2 || y != 3)
- {
- a[1][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[0][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x != 3 || y != 2)
- {
- a[2][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[0][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- }
- }
- inline void TicTacToe :: Colt13() ///Dupa Prima Mutare Calculator Mijloc
- {
- int x,y;
- a[2][0] = calculator;
- cls();
- AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls();
- AfisareTabla();
- if((x + y) % 2 == 1) ///pune pe muchie
- {
- if(x == 1 && y == 2) ///sus
- {
- a[0][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x == 2 && y == 1)
- {
- a[2][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 3 && y == 3)
- {
- a[1][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[1][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 3 && y == 2) ///jos
- {
- a[0][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x == 2 && y == 1)
- {
- a[2][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 3 && y == 3)
- {
- a[1][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[1][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 2 && y == 1) ///stanga
- {
- a[2][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x == 3 && y == 2)
- {
- a[0][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 1 && y == 1)
- {
- a[2][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[2][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 2 && y == 3) ///dreapta
- {
- a[2][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x == 3 && y == 2)
- {
- a[0][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 1 && y == 1)
- {
- a[2][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[0][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- }
- else ///pune pe colt
- {
- if(x == 1 && y == 1) ///stanga sus
- {
- a[0][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x != 3 || y != 2)
- {
- a[2][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[1][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x != 2 || y != 3)
- {
- a[1][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[2][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 3 && y == 3) ///dreapta jos
- {
- a[1][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x != 2 || y != 1)
- {
- a[1][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[0][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x != 3 || y != 2)
- {
- a[2][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[0][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- }
- }
- inline void TicTacToe :: Colt33() ///Dupa Prima Mutare Calculator Mijloc
- {
- int x,y;
- a[0][0] = calculator;
- cls();
- AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls();
- AfisareTabla();
- if((x + y) % 2 == 1) ///pune pe muchie
- {
- if(x == 1 && y == 2) ///sus
- {
- a[2][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x == 2 && y == 1)
- {
- a[0][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 1 && y == 3)
- {
- a[1][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[1][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 3 && y == 2) ///jos
- {
- a[2][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x == 2 && y == 1)
- {
- a[0][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 1 && y == 3)
- {
- a[1][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[0][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 2 && y == 1) ///stanga
- {
- a[0][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x == 3 && y == 1)
- {
- a[0][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 1 && y == 2)
- {
- a[2][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[2][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 2 && y == 3) ///dreapta
- {
- a[0][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x == 3 && y == 1)
- {
- a[0][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 1 && y == 2)
- {
- a[2][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[0][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- }
- else ///pune pe colt
- {
- if(x == 1 && y == 3) ///dreapta sus
- {
- a[1][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x != 2 || y != 1)
- {
- a[1][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[0][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x != 3 || y != 2)
- {
- a[2][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[2][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 3 && y == 1) ///stanga jos
- {
- a[2][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x != 1 || y != 2)
- {
- a[0][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[1][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x != 2 || y != 3)
- {
- a[1][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[0][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- }
- }
- inline void TicTacToe :: Colt31() ///Dupa Prima Mutare Calculator Mijloc
- {
- int x,y;
- a[0][2] = calculator;
- cls();
- AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls();
- AfisareTabla();
- if((x + y) % 2 == 1) ///pune pe muchie
- {
- if(x == 1 && y == 2) ///sus
- {
- a[2][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x == 1 && y == 1)
- {
- a[1][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 2 && y == 3)
- {
- a[0][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[0][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 3 && y == 2) ///jos
- {
- a[2][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x == 1 && y == 1)
- {
- a[1][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 2 && y == 3)
- {
- a[0][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[1][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 2 && y == 1) ///stanga
- {
- a[0][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x == 1 && y == 2)
- {
- a[2][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 3 && y == 3)
- {
- a[0][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[0][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 2 && y == 3) ///dreapta
- {
- a[0][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x == 1 && y == 2)
- {
- a[2][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 3 && y == 3)
- {
- a[0][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[2][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- }
- else ///pune pe colt
- {
- if(x == 1 && y == 1) ///stanga sus
- {
- a[1][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x != 2 || y != 3)
- {
- a[1][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[0][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x != 3 || y != 2)
- {
- a[2][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[2][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- if(x == 3 && y == 3) ///dreapta jos
- {
- a[2][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x != 1 || y != 2)
- {
- a[0][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[1][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x != 2 || y != 3)
- {
- a[1][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[0][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- }
- }
- inline void TicTacToe :: PrimaMutareCalculatorMijloc()
- {
- int x,y;
- a[1][1] = calculator;
- cls();
- AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls();
- AfisareTabla();
- ///muchii
- if(x == 1 && y == 2)
- Muchie12(); ///sus
- if(x == 2 && y == 3)
- Muchie23(); ///dreapta
- if(x == 3 && y == 2)
- Muchie32(); ///jos
- if(x == 2 && y == 1)
- Muchie21(); ///stanga
- ///colturi
- if(x == 1 && y == 1)
- Colt11(); ///stanga sus
- if(x == 1 && y == 3)
- Colt13(); ///dreapta sus
- if(x == 3 && y == 3)
- Colt33(); ///dreapta jos
- if(x == 3 && y == 1)
- Colt31(); ///stanga jos
- }
- inline void TicTacToe :: MIJLOC_ADouaMutareJucatorMuchie12()
- {
- int x,y;
- a[2][1] = calculator;
- cls();
- AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls();
- AfisareTabla();
- if(x != 3 || y != 1)
- {
- a[2][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[0][2] = calculator;
- cls();
- AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls();
- AfisareTabla();
- if(x != 2 || y != 3)
- {
- a[1][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[1][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- ///nu mai are rost
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- inline void TicTacToe :: MIJLOC_ADouaMutareJucatorMuchie23()
- {
- int x,y;
- a[1][0] = calculator;
- cls();
- AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls();
- AfisareTabla();
- ///muchii:
- if(x == 1 && y == 2)
- {
- a[2][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x != 3 || y != 1)
- {
- a[2][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[0][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- ///nu mai are rost
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- else if(x == 3 && y == 2)
- {
- a[0][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x == 3 || y == 1)
- {
- a[0][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- ///nu mai are rost
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[2][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- ///nu mai are rost
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- else
- ///colturi:
- if(x == 1 && y == 1)
- {
- a[2][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x != 3 || y != 2)
- {
- a[2][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[0][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- ///nu mai are rost
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- else if(x == 1 && y == 3)
- {
- a[2][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x != 1 || y != 1)
- {
- a[0][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- else
- {
- a[2][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- ///nu mai are rost
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- }
- else if(x == 3 && y == 1)
- {
- a[0][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x == 1 && y == 2)
- {
- a[2][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- ///nu mai are rost
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- else
- a[0][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- ///nu mai are rost
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- }
- inline void TicTacToe :: MIJLOC_ADouaMutareJucatorMuchie32()
- {
- int x,y;
- a[0][1] = calculator;
- cls();
- AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls();
- AfisareTabla();
- ///muchii:
- if(x == 2 && y == 1)
- {
- a[1][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x != 1 || y != 3)
- {
- a[0][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[2][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- ///nu mai are rost
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- else if(x == 2 && y == 3)
- {
- a[1][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x == 3 || y == 1)
- {
- a[0][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- ///nu mai are rost
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[2][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- ///nu mai are rost
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- else
- ///colturi:
- if(x == 1 && y == 1)
- {
- a[0][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x != 2 || y != 3)
- {
- a[1][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[1][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- ///nu mai are rost
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- else if(x == 1 && y == 3)
- {
- a[2][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x == 2 && y == 3)
- {
- a[1][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- ///nu mai are rost
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[1][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- ///nu mai are rost
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- else if(x == 3 && y == 1)
- {
- a[0][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nMuta calculatorul: \n\n";
- if(x != 2 || y != 3)
- {
- a[1][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- else
- {
- a[1][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- ///nu mai are rost
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- }
- }
- inline void TicTacToe :: MIJLOC_ADouaMutareJucatorMuchie21()
- {
- int x,y;
- a[1][2] = calculator;
- cls();
- AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls();
- AfisareTabla();
- if(x != 1 || y != 3)
- {
- a[0][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[2][0] = calculator;
- cls();
- AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls();
- AfisareTabla();
- if(x != 3 || y != 2)
- {
- a[2][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[0][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- ///nu mai are rost
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- inline void TicTacToe :: MIJLOC_ADouaMutareJucatorColt11()
- {
- int x,y;
- a[0][2] = calculator;
- cls();
- AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls();
- AfisareTabla();
- if(x != 2 || y != 3)
- {
- a[1][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[1][0] = calculator;
- cls();
- AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls();
- AfisareTabla();
- if(x == 1 && y == 2)
- {
- a[2][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau!\n\n";
- ///nu mai are rost
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- else if(x == 3 && y == 2)
- {
- a[0][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau!\n\n";
- ///nu mai are rost
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- else
- {
- ///nu mai are rost
- a[2][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau!\n\n";
- ///nu mai are rost
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- }
- inline void TicTacToe :: MIJLOC_ADouaMutareJucatorColt13()
- {
- int x,y;
- a[2][0] = calculator;
- cls();
- AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls();
- AfisareTabla();
- if(x != 3 || y != 2)
- {
- a[2][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[0][1] = calculator;
- cls();
- AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls();
- AfisareTabla();
- if(x == 2 && y == 1)
- {
- a[1][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau!\n\n";
- ///nu mai are rost
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- else if(x == 2 && y == 3)
- {
- a[1][0] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau!\n\n";
- ///nu mai are rost
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- else
- {
- ///nu mai are rost
- a[1][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau!\n\n";
- ///nu mai are rost
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- }
- inline void TicTacToe :: MIJLOC_ADouaMutareJucatorColt31()
- {
- int x,y;
- a[0][2] = calculator;
- cls();
- AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls();
- AfisareTabla();
- if(x != 2 || y != 3)
- {
- a[1][2] = calculator;
- cls(); AfisareTabla();
- cout<<"\nAi pierdut!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- a[1][0] = calculator;
- cls();
- AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls();
- AfisareTabla();
- if(x == 1 && y == 2)
- {
- a[2][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau!\n\n";
- ///nu mai are rost
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- else if(x == 3 && y == 2)
- {
- a[0][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau!\n\n";
- ///nu mai are rost
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- else
- {
- ///nu mai are rost
- a[0][1] = calculator;
- cls(); AfisareTabla();
- cout<<"\nE randul tau!\n\n";
- ///nu mai are rost
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls(); AfisareTabla();
- cout<<"\nEste remiza! Pana acum este cel mai bun rezulat al tau!\n\n";
- cout<<"------------------- SFARSIT JOC! -------------------";
- exit(0);
- }
- }
- inline void TicTacToe :: PrimaMutareJucatorMIJLOC()
- {
- int x,y;
- a[2][2] = calculator;
- cls();
- AfisareTabla();
- cout<<"\nE randul tau! \n\n";
- cin>>x>>y;
- VerificarePozitiiGresite(x,y);
- a[x-1][y-1] = jucator;
- cls();
- AfisareTabla();
- if((x + y) % 2 == 1) ///a doua mutare jucator : muchie
- {
- if(x == 1 && y == 2)
- MIJLOC_ADouaMutareJucatorMuchie12();
- if(x == 2 && y == 3)
- MIJLOC_ADouaMutareJucatorMuchie23();
- if(x == 3 && y == 2)
- MIJLOC_ADouaMutareJucatorMuchie32();
- if(x == 2 && y == 1)
- MIJLOC_ADouaMutareJucatorMuchie21();
- }
- else ///a doua mutare jucator : colt
- {
- if(x == 1 && y == 1)
- MIJLOC_ADouaMutareJucatorColt11();
- if(x == 1 && y == 3)
- MIJLOC_ADouaMutareJucatorColt13();
- if(x == 3 && y == 1)
- MIJLOC_ADouaMutareJucatorColt31();
- }
- }
- inline void TicTacToe :: PrimaMutareJucatorMuchie()
- {
- }
- inline void TicTacToe :: PrimaMutareJucatorColt()
- {
- cout<<"Colt\n";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement