Advertisement
Velja_Programer

Sahovska tabla boromisa

Apr 11th, 2018
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.34 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void praznatabla(int n){
  5.     int i,j;
  6.  
  7.     //printf("  ");
  8.     for(i=0; i<n; i++)
  9.         printf("%d ", i+1);
  10.     printf("\n");
  11.     for(i=0; i<n; i++){
  12.         printf("%d ",i+1);
  13.         for(j=0; j<n; j++)
  14.             printf("- ");
  15.         printf("\n");
  16.     }
  17. }
  18.  
  19. void ptabla(char tabla[], int n){
  20.     int i,j;
  21.  
  22.     printf("  ");
  23.     for(i=0; i<n; i++)
  24.         printf("%d ", i+1);
  25.     printf("\n");
  26.     for(i=0; i<n; i++){
  27.         printf("%d ",i+1);
  28.         for(j=0; j<n; j++)
  29.             printf("%c ", tabla[i*n+j]);
  30.         printf("\n");
  31.     }
  32. }
  33.  
  34. void top(char tabela[], int n, int x, int y){
  35.     int i;
  36.  
  37.     i=y;
  38.     while(i<n){
  39.         tabela[i*n+x] = '*';
  40.         i++;
  41.     }
  42.  
  43.     i=y;
  44.     while(i>=0){
  45.         tabela[i*n+x] = '*';
  46.         i--;
  47.     }
  48.  
  49.     i=x;
  50.     while(i<n){
  51.         tabela[y*n+i] = '*';
  52.         i++;
  53.     }
  54.  
  55.     i=x;
  56.     while(i>=0){
  57.         tabela[y*n+i] = '*';
  58.         i--;
  59.     }
  60. }
  61.  
  62. void lovac(char tabela[], int n, int x, int y){
  63.     int i;
  64.  
  65.     i=0;
  66.     while(x-i >= 0 && y-i >= 0){
  67.         tabela[(y-i)*n+x-i] = '*';
  68.         i++;
  69.     }
  70.  
  71.     i=0;
  72.     while(x+i < n && y-i >= 0){
  73.         tabela[(y-i)*n+x+i] = '*';
  74.         i++;
  75.     }
  76.  
  77.     i=0;
  78.     while(x-i >= 0 && y+i < n){
  79.         tabela[(y+i)*n+x-i] = '*';
  80.         i++;
  81.     }
  82.  
  83.     i=0;
  84.     while(x+i < n && y+i < n){
  85.         tabela[(y+i)*n+x+i] = '*';
  86.         i++;
  87.     }
  88.  
  89. }
  90.  
  91. int main()
  92. {
  93.  
  94.     int n,f,x,y,i,j;
  95.  
  96.     printf("Unesi velicinu sahovske table : ");
  97.     scanf("%d",&n);
  98.  
  99.     char tabla[n][n];
  100.     for(i=0; i<n; i++)
  101.         for(j=0; j<n; j++)
  102.             tabla[i][j] = '-';
  103.  
  104.     praznatabla(n);
  105.  
  106.     printf("\nUnesi lokaciju kraljice ( x,y ): ");
  107.     scanf("%d %d",&x,&y);
  108.  
  109.     x--;y--;
  110.  
  111.     printf("\nUnesi br. figure ( top-1 , lovac-2 , kraljica-3 ): ");
  112.     scanf("%d",&f);
  113.  
  114.     switch(f){
  115.         case 1:
  116.             top(tabla, n, x, y);
  117.             tabla[y][x] = 'T';
  118.             break;
  119.         case 2:
  120.             lovac(tabla, n, x, y);
  121.             tabla[y][x] = 'L';
  122.             break;
  123.         case 3:
  124.             top(tabla, n, x, y);
  125.             lovac(tabla, n, x, y);
  126.             tabla[y][x] = 'K';
  127.             break;
  128.         default:
  129.             printf("Los unos!");
  130.             break;
  131.     }
  132.  
  133.     ptabla(tabla, n);
  134.  
  135.     return 0;
  136. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement