Advertisement
Guest User

Untitled

a guest
Jan 20th, 2020
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.32 KB | None | 0 0
  1. public class main {
  2.     public static void main(String[] args)
  3.     {
  4.         game var1,var2;
  5.         var1 = new game();
  6.         var2 = new game();
  7.         var1.init();
  8.         var1.print();
  9.         int i;
  10.         for (i=1;i<5;i++)
  11.         {
  12.             if (i%2!=0)
  13.             {   var2.update(var1);
  14.                 var2.print();
  15.             }
  16.             else
  17.             {
  18.                 var1.update(var2);
  19.                 var1.print();
  20.             }
  21.         }
  22.     }
  23. }
  24.  
  25. ///
  26.  
  27. public class game {
  28.     private cell arr1[][];
  29.     private final static int size=17;
  30.  
  31.     game(){
  32.         arr1 = new cell[size][size];
  33.         for (int i = 0; i < size; i++) {
  34.             for (int j = 0; j < size; j++)
  35.                 arr1[i][j] = new white(i,j);
  36.         }
  37.     }
  38.     void init () {
  39.         arr1[3][8] = new black(3, 8);
  40.         arr1[4][7] = new black(4, 7);
  41.         arr1[5][7] = new black(5, 7);
  42.         arr1[5][8] = new black(5, 8);
  43.         arr1[5][9] = new black(5, 9);
  44.         arr1[10][7] = new black(10, 7);
  45.         arr1[10][8] = new black(10, 8);
  46.         arr1[10][9] = new black(10, 9);
  47.         arr1[11][7] = new black(11, 7);
  48.         arr1[12][8] = new black(12, 8);
  49.         arr1[3][2] = new black(3, 2);
  50.         arr1[4][3] = new black(4, 3);
  51.         arr1[5][1] = new black(5, 1);
  52.         arr1[5][2] = new black(5, 2);
  53.         arr1[5][3] = new black(5, 3);
  54.         arr1[9][1] = new black(9, 1);
  55.         arr1[9][2] = new black(9, 2);
  56.         arr1[9][3] = new black(9, 3);
  57.         arr1[10][3] = new black(10, 3);
  58.         arr1[11][2] = new black(11, 2);
  59.     }
  60.  
  61.     public void update(game m)
  62.     {
  63.         int i,j;
  64.         for(i=1;i<size-1;i++)
  65.         {
  66.             for (j=1;j<size-1;j++)
  67.             {
  68.                 arr1[i][j] = m.arr1[i][j].getNextColor(m.arr1);
  69.             }
  70.         }
  71.  
  72.     }
  73.  
  74.     public void print() {
  75.         for (int i=1; i<16; i++) {
  76.             for (int j=1; j<16; j++)
  77.                 if(arr1[i][j].who() == 1)
  78.                     System.out.print("X" + " ");
  79.                 else
  80.                     System.out.print("-" + " ");
  81.             System.out.println();
  82.         }
  83.         System.out.println();
  84.     }
  85.  
  86. }
  87.  
  88. ///
  89.  
  90. public abstract class cell {
  91.     public int x, y;
  92.  
  93.     public cell(int x, int y) {
  94.         this.x = x;
  95.         this.y = y;
  96.     }
  97.     abstract int who();
  98.     abstract cell getNextColor(cell[][] a);
  99.  
  100.     public int neighbours(cell[][] a) {
  101.         int i, j, count;
  102.         count = 0;
  103.         for (i = -1; i < 2; i++) {
  104.             for (j = -1; j < 2; j++) {
  105.                 count += a[x + i][y + j].who();
  106.             }
  107.         }
  108.         count -= a[x][y].who();
  109.         return count;
  110.     }
  111.  
  112. }
  113.  
  114. ///
  115.  
  116. public class black extends cell {
  117.  
  118.     public black(int x, int y) {
  119.         super(x, y);
  120.     }
  121.     public int who() { return 1; }
  122.     cell getNextColor(cell[][] arr1)
  123.     {
  124.         int count = neighbours(arr1);
  125.         if (count == 2 || count == 3)
  126.             return this;
  127.         return new white(x, y);
  128.     }
  129. }
  130.  
  131. ///
  132.  
  133. public class white extends cell {
  134.     public white(int x, int y) {
  135.         super(x,y);
  136.     }
  137.     public int who() { return 0; }
  138.     cell getNextColor(cell[][] arr1)
  139.     {
  140.         int count = neighbours(arr1);
  141.         if (count==3)
  142.             return new black(x,y);
  143.         return this;
  144.     }
  145. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement