Advertisement
captainIBM

Untitled

May 16th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.86 KB | None | 0 0
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3.  
  4. int victory(int **tab, int columns);
  5.  
  6. int victory (int **tab, int columns) {
  7. int count = 0;
  8. int i = 0;
  9. int j = 0;
  10. for (i = 0; i < columns; ++i) // Verticale
  11. {
  12. count = 0;
  13. for (j = 0; j < columns; ++j)
  14. {
  15. if (tab[i][j] == tab[i][j+1] && tab[i][j] != 0)
  16. count++;
  17. if (count == columns-2)
  18. return 1;
  19. }
  20. }
  21. for (j = 0; j < columns; j++) // Horizontale
  22. {
  23. count = 0;
  24. for (i = 1; i < columns; i++)
  25. {
  26. if (tab[i][j] == tab[i-1][j] && tab[i][j] != 0)
  27. count++;
  28. if (count == columns-1)
  29. return 1;
  30. }
  31. }
  32.  
  33. for(i = 0; i<columns; i++){
  34.  
  35. if(tab[i] == tab[i+1] && tab[i] !=0){
  36. count++;
  37. j++;
  38. }
  39. if(count == columns-1){
  40. return 1;
  41. }
  42.  
  43. }
  44. return 0;
  45. }
  46.  
  47. int main() {
  48. int **plateau;
  49. int columns;
  50. int i = 0;
  51. int j = 0;
  52. int token = 0;
  53. int count = 1;
  54. int j1 = 0;
  55. int j2 = 0;
  56. int game = 0;
  57.  
  58. printf("Saisir le nombre de colonnes :\n");
  59. scanf("%d",&columns);
  60. system("cls");
  61.  
  62. if ((plateau = malloc(sizeof(int *) * columns)) == NULL)
  63. exit(0);
  64. for(i=0 ; i < columns ; i++){
  65. if ((plateau[i] = malloc(sizeof(int) * columns)) == NULL)
  66. exit(0);
  67. }
  68.  
  69. for(i=0;i<columns;i++){
  70. plateau[i][0] = i+1;
  71. for(j=1;j<columns + 1;j++){
  72. plateau[i][j] = 0;
  73. }
  74. }
  75. for(j=0;j<columns;j++){
  76. for(i=0;i<columns;i++){
  77. printf("| %d ",plateau[i][j]);
  78. }
  79. printf("\n");
  80. }
  81. printf("La partie commence.\n");
  82. game = 1;
  83. /* ---------------------------------------------------------- */
  84. do {
  85. j1 = 1;
  86. do { // Tour du joueur 1
  87. printf("Joueur 1 :\n");
  88. scanf("%d",&token);
  89. system("cls");
  90.  
  91. for(i=0;i<columns;i++){
  92. for(j=1;i<columns + 1;j++){
  93. if(plateau[i][columns-j] == 0){
  94. count = j;
  95. break;
  96. }
  97. }
  98. if(plateau[i][0] == token){
  99. plateau[i][columns-count] = 1;
  100. }
  101. }
  102. for(j=0;j<columns;j++){
  103. for(i=0;i<columns;i++){
  104. printf("| %d ",plateau[i][j]);
  105. }
  106. printf("\n");
  107. }
  108. if (victory(plateau, columns) == 1)
  109. {
  110. printf("Victoire du joueur 1\n");
  111. game = 0;
  112. }
  113. j1 = 0;
  114. } while (j1 == 1);
  115. j2 = 1;
  116. if (game == 1)
  117. {
  118. do { // Tour du joueur 2
  119. printf("Joueur 2 :\n");
  120. scanf("%d",&token);
  121. system("cls");
  122.  
  123. for(i=0;i<columns;i++){
  124. for(j=1;i<columns + 1;j++){
  125. if(plateau[i][columns-j] == 0){
  126. count = j;
  127. break;
  128. }
  129. }
  130. if(plateau[i][0] == token){
  131. plateau[i][columns-count] = 2;
  132. }
  133. }
  134. for(j=0;j<columns;j++){
  135. for(i=0;i<columns;i++){
  136. printf("| %d ",plateau[i][j]);
  137. }
  138. printf("\n");
  139. }
  140. if (victory(plateau, columns) == 1)
  141. {
  142. printf("Victoire du joueur 2\n");
  143. game = 0;
  144. }
  145. j2 = 0;
  146. } while (j2 == 1);
  147. }
  148. }while(game == 1);
  149. free (plateau);
  150. return 0;
  151. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement