SHARE
TWEET

Untitled

a guest Feb 21st, 2019 60 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace p_31_XO
  8. {
  9.     class Matrice
  10.     {
  11.         public int[,] a; // matricea 3 x 3 de joc
  12.         public int laMutare; // 1 - la mutare este X, 2 - la mutare este O
  13.  
  14.         public Matrice()
  15.         {
  16.             a = new int[5, 5];
  17.             Init();
  18.         }
  19.  
  20.         public void Init()
  21.         {
  22.             int i, j;
  23.             for (i = 0; i < 5; i++)
  24.                 for (j = 0; j < 5; j++)
  25.                     a[i, j] = 0;
  26.             laMutare = 1;
  27.         }
  28.  
  29.         // verifica daca se poate pune X sau O pe pozitia (i, j)
  30.         public bool PotMuta(int i, int j)
  31.         {
  32.             return a[i, j] == 0;
  33.         }
  34.  
  35.         /*
  36.          * ret. 0 - daca jocul nu s-a terminat
  37.          * ret 1 - daca a castigat x
  38.          * ret 2 daca a castigat o
  39.          * ret 3 daca e remiza
  40.          */
  41.  
  42.         public int SfarsitJoc()
  43.         {
  44.             // verific daca a castigat cineva
  45.             int i;
  46.             for(i = 1; i <= 3; i++)
  47.             {
  48.                 if (a[i, 1] == a[i, 2] && a[i, 3] == a[i, 3] && a[i, 1] > 0)
  49.                     return a[i, 1];
  50.             }
  51.             // pe coloane
  52.             for(i = i; i <= 3; i++)
  53.             {
  54.                 if (a[1, i] == a[2, i] && a[2, i] == a[3, i] && a[1, i] > 0)
  55.                     return a[i, 1];
  56.             }
  57.             // pe diagonala principala
  58.             if(a[1, 1] == a[2, 2] && a[2, 2] == a[3, 3] && a[1, 1] > 0)
  59.                 return a[1, 1];
  60.  
  61.             // pe diagonala secundara
  62.  
  63.             if(a[1, 3] == a[2, 2] && a[2, 2] == a[3, 1] && a[1, 3] > 0)
  64.                 return a[1, 3];
  65.  
  66.             for(i = 1; i <= 3; i++)
  67.                 for(int j = 1; j <= 3; j++)
  68.                     if(a[i, j] == 0)
  69.                         return 0;
  70.             return 3;
  71.         }
  72.  
  73.         public void Pune(int i, int j, int val)
  74.         {
  75.             a[i, j] = val;
  76.         }
  77.     }
  78. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top