You are on page 1of 5

X si 0

Acest program va realiza cel mai popular joc numit x si 0 numele original fiind TicTaeToe din Germania. S-a realizat in mod consola. In prima etapa folosim un patrat 3x3 in care introducem cifre pana la 9.

Cand jucatorul nr.1 va apasa o cifra in locul ei se va afisa X-ul iar la Jucatorul 2 se va afisa0

In caz de introducere eronata programul va sti si va afisa ca fiind invalida miscarea.

In caz ca unul din jucatori va face pe diagonala 0 fiind cazul de fataJucator 2 , va fi castigator.

Dupa terminarea jocului programul va interactiona cu jucatorii si va intreba daca se doreste un nou joc.

In caz de egalitate se va afisaJoc terminat!

Cod Sursa:
#include <iostream> // void main() { char cSquare1('1'); char cSquare2('2'); char cSquare3('3'); char cSquare4('4'); char cSquare5('5'); char cSquare6('6'); char cSquare7('7'); char cSquare8('8'); char cSquare9('9'); int iPlayerTurn(1); bool bGameOver(true);

do { std::cout << cSquare1 << "|" << cSquare2 << "|" << cSquare3 << std::endl; std::cout << "-+-+-"<< std::endl; std::cout << cSquare4 << "|" << cSquare5 << "|" << cSquare6 << std::endl; std::cout << "-+-+-"<< std::endl; std::cout << cSquare7 << "|" << cSquare8 << "|" << cSquare9 << std::endl;

char cPlayerMark; if (iPlayerTurn == 1) { cPlayerMark = 'X'; } else { cPlayerMark = 'O'; }

std::cout << "Jucator" << iPlayerTurn << "muta:" << std::endl; bool bValidMove; do { char cNextMove; std::cin >> cNextMove; bValidMove = true;

if (cNextMove == '1' && cSquare1 == '1') { cSquare1 = cPlayerMark; } else if (cNextMove == '2' && cSquare2 == '2') { cSquare2 = cPlayerMark; } else if (cNextMove == '3' && cSquare3 == '3') { cSquare3 = cPlayerMark; } else if (cNextMove == '4' && cSquare4 == '4') { cSquare4 = cPlayerMark; } else if (cNextMove == '5' && cSquare5 == '5') { cSquare5 = cPlayerMark; } else if (cNextMove == '6' && cSquare6 == '6') { cSquare6 = cPlayerMark; } else if (cNextMove == '7' && cSquare7 == '7') { cSquare7 = cPlayerMark; } else if (cNextMove == '8' && cSquare8 == '8') { cSquare8 = cPlayerMark; } else if (cNextMove == '9' && cSquare9 == '9') { cSquare9 = cPlayerMark; } else { std::cout << "Miscare invalida. Incearca din nou." << std::endl; bValidMove = false; } } while (!bValidMove); bGameOver bool bWinGame = false; = true;

if (cSquare1 != '1') { if (cSquare2 == cSquare1 bGameOver = true; } if (cSquare4 == cSquare1 bGameOver = true; } } if (cSquare5 != '5') { if (cSquare1 == cSquare5 bGameOver = true; } if (cSquare2 == cSquare5 bGameOver = true; } if (cSquare4 == cSquare5 bGameOver = true; } if (cSquare3 == cSquare5 bGameOver = true; } } if (cSquare9 != '9') { if (cSquare3 == cSquare9

&& cSquare3 == cSquare1) {

&& cSquare7 == cSquare1) {

&& cSquare9 == cSquare5) {

&& cSquare8 == cSquare5) {

&& cSquare6 == cSquare5) {

&& cSquare7 == cSquare5) {

&& cSquare6 == cSquare9) {

bGameOver = true; } if (cSquare7 == cSquare9 && cSquare8 == cSquare9) { bGameOver = true; } } if (cSquare1 != '1' && cSquare2 != '2' && cSquare3 != '3' && cSquare4 != '4' && cSquare5 != '5' && cSquare6 != '6' && cSquare7 != '7' && cSquare8 != '8' && cSquare9 != '9' && !bGameOver) { bGameOver = true; bWinGame = false; } if (bGameOver) { if (bWinGame) { std::cout << "Jucator" << iPlayerTurn << " a castigat!" << std::endl; } std::cout cSquare3 << std::endl; std::cout std::cout cSquare6 << std::endl; std::cout std::cout cSquare9 << std::endl; << cSquare1 << "|" << cSquare2 << "|" << << "-+-+-"<< std::endl; << cSquare4 << "|" << cSquare5 << "|" << << "-+-+-"<< std::endl; << cSquare7 << "|" << cSquare8 << "|" <<

std::cout << "Joc terminat!" << std::endl; std::cout << "Joci din nou (y/n)?" << std::endl; char cPlayAgain; std::cin >> cPlayAgain; if (cPlayAgain == 'y') { bGameOver = false; cSquare1 cSquare2 cSquare3 cSquare4 cSquare5 cSquare6 cSquare7 cSquare8 cSquare9 = = = = = = = = = '1'; '2'; '3'; '4'; '5'; '6'; '7'; '8'; '9';

} iPlayerTurn = 1; } else { if (iPlayerTurn == 1) { iPlayerTurn = 2; } else { iPlayerTurn = 1; } } } while (!bGameOver); }

You might also like