Advertisement
Guest User

Untitled

a guest
Feb 21st, 2019
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.02 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement