Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace p_31_XO
- {
- class Matrice
- {
- public int[,] a; // matricea 3 x 3 de joc
- public int laMutare; // 1 - la mutare este X, 2 - la mutare este O
- public Matrice()
- {
- a = new int[5, 5];
- Init();
- }
- public void Init()
- {
- int i, j;
- for (i = 0; i < 5; i++)
- for (j = 0; j < 5; j++)
- a[i, j] = 0;
- laMutare = 1;
- }
- // verifica daca se poate pune X sau O pe pozitia (i, j)
- public bool PotMuta(int i, int j)
- {
- return a[i, j] == 0;
- }
- /*
- * ret. 0 - daca jocul nu s-a terminat
- * ret 1 - daca a castigat x
- * ret 2 daca a castigat o
- * ret 3 daca e remiza
- */
- public int SfarsitJoc()
- {
- // verific daca a castigat cineva
- int i;
- for(i = 1; i <= 3; i++)
- {
- if (a[i, 1] == a[i, 2] && a[i, 3] == a[i, 3] && a[i, 1] > 0)
- return a[i, 1];
- }
- // pe coloane
- for(i = i; i <= 3; i++)
- {
- if (a[1, i] == a[2, i] && a[2, i] == a[3, i] && a[1, i] > 0)
- return a[i, 1];
- }
- // pe diagonala principala
- if(a[1, 1] == a[2, 2] && a[2, 2] == a[3, 3] && a[1, 1] > 0)
- return a[1, 1];
- // pe diagonala secundara
- if(a[1, 3] == a[2, 2] && a[2, 2] == a[3, 1] && a[1, 3] > 0)
- return a[1, 3];
- for(i = 1; i <= 3; i++)
- for(int j = 1; j <= 3; j++)
- if(a[i, j] == 0)
- return 0;
- return 3;
- }
- public void Pune(int i, int j, int val)
- {
- a[i, j] = val;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement