g3x0

xno

Dec 9th, 2011
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.85 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. bool legal(char a[3][3], int x, int y) {
  5.     if (a[x][y] == '+')
  6.         return true;
  7.  
  8.     return false;
  9. }
  10.  
  11. char check(int x) {
  12.     if (x == 1)
  13.         cout << "\nX:\n";
  14.     if (x == 2)
  15.         cout << "\n0:\n";
  16.     return 0;
  17. }
  18.  
  19. bool winCheck(char a[3][3], char b) {
  20.     if (a[0][0] == b && a[1][1] == b && a[2][2] == b)
  21.         return true;
  22.     if (a[0][0] == b && a[0][1] == b && a[0][2] == b)
  23.         return true;
  24.     if (a[1][0] == b && a[1][1] == b && a[1][2] == b)
  25.         return true;
  26.     if (a[2][0] == b && a[2][1] == b && a[2][2] == b)
  27.         return true;
  28.     if (a[0][2] == b && a[1][1] == b && a[2][0] == b)
  29.         return true;
  30.     if (a[0][0] == b && a[1][0] == b && a[2][0] == b)
  31.         return true;
  32.     if (a[0][1] == b && a[1][1] == b && a[2][1] == b)
  33.         return true;
  34.     if (a[0][2] == b && a[1][2] == b && a[2][2] == b)
  35.         return true;
  36.    
  37.     return false;
  38. }
  39.  
  40. void xoReset(char x[3][3]) {
  41.     for (int l=0; l<3; l++) {
  42.         for (int c=0; c<3; c++) {
  43.             x[l][c] = '+';
  44.         }
  45.     }
  46. }
  47.  
  48. int xoFull(char xo[3][3]) {
  49.     if (xo[0][0] == '+' || xo[0][1] == '+' || xo[0][2] == '+' || xo[1][0] == '+' ||
  50.     xo[1][1] == '+' || xo[1][2] == '+' || xo[2][0] == '+' || xo[2][1] == '+' || xo[2][2] == '+')
  51.         return 1;
  52.     return 0;
  53. }
  54.  
  55. int main() {
  56.     char xo[3][3] = {{'+','+','+'},{'+','+','+'},{'+','+','+'}}, q='y';
  57.     int enter, player, l2, c2, fuck;
  58.    
  59.     while(q == 'y') {
  60.         player=1;
  61.         system("cls");
  62.         for (int i=0; i<9; i++) {
  63.             for (int l=0; l<3; l++) {
  64.                 for (int c=0; c<3; c++) {
  65.                     cout << xo[l][c] << " ";
  66.                 }
  67.                 cout << endl;
  68.             }
  69.             check(player);
  70.             do{
  71.                 cin >> enter;
  72.                 l2 = enter/10;
  73.                 c2 = enter%10;
  74.                 if (legal(xo, l2-1, c2-1)) {
  75.                     xo[l2-1][c2-1] = 'X';
  76.                     fuck = 1;
  77.                 } else { fuck = 0; }
  78.                
  79.                 if (xoFull(xo))
  80.                     continue;
  81.                 else {
  82.                     xoReset(xo);
  83.                     cout << "\n\nNo one won, play again?[y/n]:";
  84.                     cin >> q;
  85.                     break;
  86.                 }
  87.             }while(fuck == 0);
  88.             break;
  89.         }
  90.        
  91.         if (winCheck(xo, 'X')) {
  92.             cout << "\n\nPlayer " << player << " won!" << endl;
  93.             xoReset(xo);
  94.             cout << "Play again?[y/n]:";
  95.             cin >> q;
  96.         }
  97.        
  98.         player=2;
  99.         system("cls");
  100.         for (int i=0; i<9; i++) {
  101.             for (int l=0; l<3; l++) {
  102.                 for (int c=0; c<3; c++) {
  103.                     cout << xo[l][c] << " ";
  104.                 }
  105.                 cout << endl;
  106.             }
  107.             check(player);
  108.             do{
  109.                 cin >> enter;
  110.                 l2 = enter/10;
  111.                 c2 = enter%10;
  112.                 if (legal(xo, l2-1, c2-1)) {
  113.                     xo[l2-1][c2-1] = '0';
  114.                     fuck = 1;
  115.                 } else { fuck = 0; }
  116.                
  117.                 if (xoFull(xo))
  118.                     continue;
  119.                 else {
  120.                     xoReset(xo);
  121.                     cout << "\n\nNo one won, play again?[y/n]:";
  122.                     cin >> q;
  123.                     break;
  124.                 }
  125.             }while(fuck == 0);
  126.             break;
  127.         }
  128.        
  129.         if (winCheck(xo, '0')) {
  130.             cout << "\n\nPlayer " << player << " won!" << endl;
  131.             xoReset(xo);
  132.             cout << "Play again?[y/n]:";
  133.             cin >> q;
  134.         }
  135.     }
  136.    
  137.     cout << "\n\n-----\nThanks for playing\nGame created by Gecko";
  138.    
  139.     return 0;
  140. }
Advertisement
Add Comment
Please, Sign In to add comment