Advertisement
alvsjo

Komande zad5

Apr 19th, 2017
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.19 KB | None | 0 0
  1. public class Komande {
  2.  
  3.     private char [][] bitmap;
  4.  
  5.     public char [][] getBitmap() {
  6.         return bitmap;
  7.     }
  8.  
  9.     public void setBitmap(char [][] bitmap) {
  10.         this.bitmap = bitmap;
  11.     }
  12.  
  13.     public Komande(int m, int n) {
  14.         this.bitmap = new char [m][n];
  15.         for (int i=0; i<m;i++)
  16.         {
  17.             for (int j=0;j<n;j++)
  18.             {
  19.                 bitmap[i][j]='O';
  20.             }
  21.         }
  22.     }
  23.    
  24.     public void Clear ()
  25.     {
  26.         for (int i=0; i<bitmap.length;i++)
  27.         {
  28.             for (int j=0;j<bitmap[0].length;j++)
  29.             {
  30.                 bitmap[i][j]='O';
  31.             }
  32.         }
  33.     }
  34.    
  35.     public void obojiJedan(int x, int y, char C)
  36.     {
  37.        
  38.         bitmap[x-1][y-1]=C;
  39.        
  40.     }
  41.    
  42.    
  43.     public void vertDuz(int y, int x1, int x2,char C)
  44.     {
  45.         int i=x1-1;
  46.         while(i<x2)
  47.         {
  48.             bitmap[i][y]=C;
  49.             i++;
  50.         }
  51.     }
  52.    
  53.     public void horDuz(int x, int y1, int y2,char C)
  54.     {
  55.         int i=y1-1;
  56.         while(i<y2)
  57.         {
  58.             bitmap[x][i]=C;
  59.             i++;
  60.         }
  61.     }
  62.    
  63.    
  64.     public void pravougaonik(int x1, int y1, int x2, int y2, char C)
  65.     {
  66.         for (int i=(x1-1);i<x2;i++)
  67.         {
  68.             horDuz(i,y1,y2,C);
  69.         }
  70.     }
  71.    
  72.     public void histogram()
  73.     {
  74.         int b=0,k=0,g=0,c=0,r=0,m=0,w=0,y=0,o=0;
  75.         for (int i=0; i<bitmap.length;i++)
  76.         {
  77.             for (int j=0;j<bitmap[0].length;j++)
  78.             {
  79.                 if(bitmap[i][j]=='B')
  80.                     b++;
  81.                 else if (bitmap[i][j]=='K')
  82.                     k++;
  83.                 else if (bitmap[i][j]=='G')
  84.                     g++;
  85.                 else if (bitmap[i][j]=='C')
  86.                     c++;
  87.                 else if (bitmap[i][j]=='R')
  88.                     r++;
  89.                 else if (bitmap[i][j]=='M')
  90.                     m++;
  91.                 else if (bitmap[i][j]=='W')
  92.                     w++;
  93.                 else if (bitmap[i][j]=='Y')
  94.                     y++;
  95.                 else if (bitmap[i][j]=='O')
  96.                     o++;
  97.             }
  98.         }
  99.  
  100.         if (b!=0)
  101.             System.out.println("Black, "+b);
  102.         if (k!=0)
  103.             System.out.println("Blue, "+k);
  104.         if (w!=0)
  105.             System.out.println("Brown, "+w);
  106.         if(c!=0)
  107.             System.out.println("Cyan, "+c);
  108.         if (g!=0)
  109.             System.out.println("Green, "+g);
  110.         if (m!=0)
  111.             System.out.println("Magenta, "+m);
  112.         if (r!=0)
  113.             System.out.println("Red, "+r);
  114.         if (o!=0)
  115.             System.out.println("White, "+o);
  116.         if (y!=0)
  117.             System.out.println("Yellow, "+y);
  118.     }
  119.    
  120.     public void fill(int x, int y,char C)
  121.     {
  122.         char curr=bitmap[x-1][y-1];
  123.         bitmap [x-1][y-1]=C;
  124.         if (x-2>=0 && bitmap[x-2][y-1]==curr)
  125.         {
  126.             fill(x-1,y,C);
  127.         }
  128.         if (x<bitmap.length && bitmap[x][y-1]==curr)
  129.         {
  130.             fill(x+1,y,C);
  131.         }
  132.         if (y-2>=0 && bitmap[x-1][y-2]==curr)
  133.         {
  134.             fill(x,y-1,C);
  135.         }
  136.         if (y<bitmap[0].length && bitmap[x-1][y]==curr)
  137.         {
  138.             fill(x,y+1,C);
  139.         }
  140.        
  141.     }
  142.    
  143.    
  144.    
  145.     public void brojT()
  146.     {
  147.         int rez=0;
  148.         //unutrasnjost
  149.         for (int i=1; i<bitmap.length-3;i++)
  150.         {
  151.             for (int j=1;j<bitmap[0].length-3;j++)
  152.             {
  153.                
  154.                 if(bitmap[i][j]==bitmap[i+1][j] && bitmap[i][j]==bitmap[i+2][j] && bitmap[i][j]==bitmap[i+1][j+1] && bitmap[i][j]==bitmap[i+1][j+2])
  155.                     {
  156.                     if(bitmap[i-1][j-1]!=bitmap[i+1][j+1] && bitmap[i][j-1]!=bitmap[i+1][j+1] && bitmap[i+1][j-1]!=bitmap[i+1][j+1] && bitmap[i+2][j-1]!=bitmap[i+1][j+1]
  157.                         &&  bitmap[i+3][j-1]!=bitmap[i+1][j-1] && bitmap[i+3][j]!=bitmap[i+1][j+1] && bitmap[i-1][j]!=bitmap[i+1][j+1] && bitmap[i-1][j+1]!=bitmap[i+1][j+1]
  158.                         && bitmap[i][j+1]!=bitmap[i+1][j+1] && bitmap[i+2][j+1]!=bitmap[i+1][j+1] &&bitmap[i+3][j+1]!=bitmap[i+1][j+1] && bitmap[i][j+2]!=bitmap[i+1][j+1]
  159.                         && bitmap[i+2][j+2]!=bitmap[i+1][j+1] && bitmap[i][j+3]!=bitmap[i+1][j+1] && bitmap[i+1][j+3]!=bitmap[i+1][j+1] && bitmap[i+2][j+3]!=bitmap[i+1][j+1])
  160.                     rez++;
  161.                     }
  162.                 if(bitmap[i][j]==bitmap[i][j+1] && bitmap[i][j]==bitmap[i][j+2] && bitmap[i][j]==bitmap[i+1][j+1] && bitmap[i][j]==bitmap[i+2][j+1])
  163.                     rez++;
  164.                 if(bitmap[i+2][j]==bitmap[i+2][j+1] && bitmap[i+2][j]==bitmap[i+2][j+2] && bitmap[i+2][j]==bitmap[i+1][j+1] && bitmap[i+2][j]==bitmap[i][j+1])
  165.                     rez++;
  166.                 if(bitmap[i][j+2]==bitmap[i+1][j+2] && bitmap[i][j+2]==bitmap[i+2][j+2] && bitmap[i][j+2]==bitmap[i+1][j+1] && bitmap[i][j+2]==bitmap[i+1][j])
  167.                     rez++;
  168.                
  169.                
  170.             }
  171.         }
  172.        
  173.         // gornja ivica
  174.         //donja ivica
  175.         //lijeva
  176.         //desna
  177.        
  178.        
  179.        
  180.        
  181.        
  182.        
  183.        
  184.        
  185.        
  186.        
  187.        
  188.        
  189.        
  190.         System.out.println(rez);
  191.     }
  192.    
  193.     public void stampa()
  194.     {
  195.         System.out.println("Bitmapa je:");
  196.         for (int i=0; i<bitmap.length;i++)
  197.         {
  198.             for (int j=0;j<bitmap[0].length;j++)
  199.             {
  200.                 System.out.print(bitmap[i][j]);
  201.             }
  202.             System.out.println();
  203.         }
  204.     }
  205.    
  206.    
  207.    
  208. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement