Advertisement
Guest User

Untitled

a guest
Nov 16th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.43 KB | None | 0 0
  1. #include<stdio.h>
  2. #define MAX 100
  3.  
  4. int main(){
  5. int width, height, win_condition; // General data
  6. int counter_x = 0, counter_0 = 0;
  7. int dx_x[MAX], dy_x[MAX]; // Coordinates for X
  8. int dx_0[MAX], dy_0[MAX]; // Coordinates for 0
  9. int wrong = 0;
  10. char matrix[MAX][MAX];
  11. int i, j, k; // Iterators
  12. char character, first_character;
  13. int inner_counter = 0;
  14. char inner_character;
  15. int winner = 0;
  16. int steps = 0;
  17.  
  18. do {
  19. wrong = 0;
  20. scanf("%dx%d", &width, &height);
  21. if(width < 3 || width > 10 || height < 3 || height > 10) {
  22. wrong = 1;
  23. printf("Nedozvoljena dimenzija polja!\n");
  24. }
  25. } while(wrong);
  26. scanf("%d", &win_condition);
  27. scanf(" %c", &character);
  28. first_character = character;
  29. for(i = 0; i < width; i++) for(j = 0; j < height; j++) matrix[i][j] = '-';
  30. while(1){
  31. for(i = 0; i < width; i++){
  32. for(j = 0; j < height; j++){
  33. if(matrix[i][j] != '-'){
  34. inner_character = matrix[i][j];
  35. inner_counter = 0;
  36. for(k = i; k < height; k++){
  37. if(matrix[k][j] == inner_character) inner_counter++;
  38. if(inner_counter == win_condition){
  39. winner = inner_character;
  40. break;
  41. }
  42. }
  43. if(winner) break;
  44. }
  45. }
  46. if(winner) break;
  47. }
  48. steps++;
  49. scanf("%d %d", character == 'X' ? &dx_x[counter_x] : &dx_0[counter_0], character == 'X' ? &dy_x[counter_x] : &dy_0[counter_0]);
  50. matrix[character == 'X' ? dx_x[counter_x] - 1 : dx_0[counter_0] - 1][character == 'X' ? dy_x[counter_x] - 1 : dy_0[counter_0] - 1] = character;
  51. if(character == 'X'){
  52. character = 'O';
  53. counter_x++;
  54. } else {
  55. character = 'X';
  56. counter_0++;
  57. }
  58. if(winner) break;
  59. }
  60. // Redraw the matrix
  61. int counter_x_2 = 0, counter_0_2 = 0;
  62. character = first_character;
  63. for(i = 0; i < width; i++) for(j = 0; j < height; j++) matrix[i][j] = '-';
  64. for(j = 0; j < width; j++){
  65. for(k = 0; k < height; k++){
  66. printf("%2c", matrix[j][k]);
  67. }
  68. printf("\n");
  69. }
  70. printf("\n");
  71. for(i = 0; i < steps; i++){
  72. matrix[character == 'X' ? dx_x[counter_x_2] - 1 : dx_0[counter_0_2] - 1][character == 'X' ? dy_x[counter_x_2] - 1 : dy_0[counter_0_2] - 1] = character;
  73. if(character == 'X'){
  74. character = 'O';
  75. counter_x_2++;
  76. } else {
  77. character = 'X';
  78. counter_0_2++;
  79. }
  80. for(j = 0; j < width; j++){
  81. for(k = 0; k < height; k++){
  82. printf("%2c", matrix[j][k]);
  83. }
  84. printf("\n");
  85. }
  86. printf("\n");
  87. }
  88. printf("Pobjednik je igrac %c!", winner);
  89. return 0;
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement