Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #define MAX 100
- int main(){
- int width, height, win_condition; // General data
- int counter_x = 0, counter_0 = 0;
- int dx_x[MAX], dy_x[MAX]; // Coordinates for X
- int dx_0[MAX], dy_0[MAX]; // Coordinates for 0
- int wrong = 0;
- char matrix[MAX][MAX];
- int i, j, k; // Iterators
- char character, first_character;
- int inner_counter = 0;
- char inner_character;
- int winner = 0;
- int steps = 0;
- do {
- wrong = 0;
- scanf("%dx%d", &width, &height);
- if(width < 3 || width > 10 || height < 3 || height > 10) {
- wrong = 1;
- printf("Nedozvoljena dimenzija polja!\n");
- }
- } while(wrong);
- scanf("%d", &win_condition);
- scanf(" %c", &character);
- first_character = character;
- for(i = 0; i < width; i++) for(j = 0; j < height; j++) matrix[i][j] = '-';
- while(1){
- for(i = 0; i < width; i++){
- for(j = 0; j < height; j++){
- if(matrix[i][j] != '-'){
- inner_character = matrix[i][j];
- inner_counter = 0;
- for(k = i; k < height; k++){
- if(matrix[k][j] == inner_character) inner_counter++;
- if(inner_counter == win_condition){
- winner = inner_character;
- break;
- }
- }
- if(winner) break;
- }
- }
- if(winner) break;
- }
- steps++;
- scanf("%d %d", character == 'X' ? &dx_x[counter_x] : &dx_0[counter_0], character == 'X' ? &dy_x[counter_x] : &dy_0[counter_0]);
- 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;
- if(character == 'X'){
- character = 'O';
- counter_x++;
- } else {
- character = 'X';
- counter_0++;
- }
- if(winner) break;
- }
- // Redraw the matrix
- int counter_x_2 = 0, counter_0_2 = 0;
- character = first_character;
- for(i = 0; i < width; i++) for(j = 0; j < height; j++) matrix[i][j] = '-';
- for(j = 0; j < width; j++){
- for(k = 0; k < height; k++){
- printf("%2c", matrix[j][k]);
- }
- printf("\n");
- }
- printf("\n");
- for(i = 0; i < steps; i++){
- 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;
- if(character == 'X'){
- character = 'O';
- counter_x_2++;
- } else {
- character = 'X';
- counter_0_2++;
- }
- for(j = 0; j < width; j++){
- for(k = 0; k < height; k++){
- printf("%2c", matrix[j][k]);
- }
- printf("\n");
- }
- printf("\n");
- }
- printf("Pobjednik je igrac %c!", winner);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement