Advertisement
Guest User

Game of Life

a guest
Mar 25th, 2017
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.98 KB | None | 0 0
  1. #include<iostream>
  2. #include<algorithm>
  3. #include<stdio.h>
  4.  using namespace std;
  5.  /// GAME OF LIFE
  6. bool dp1[100][100],dp2[100][100];
  7. int main ()
  8. {
  9.     int i , j , n , z;
  10.     char c;
  11.     system ( "color 02" );
  12.     system ( "ECHO OFF" );
  13.  
  14.     for ( i=1;i<=20;i++ )
  15.     {
  16.  
  17.         for ( j=1;j<=30;j++ )
  18.         {
  19.           // cout<<j<<" ";
  20.             cin>>c;
  21.             if ( c=='O' )
  22.                 dp1[i][j]=true;
  23.             else
  24.                 dp1[i][j]=false;
  25.             dp2[i][j]=false;
  26.         }
  27.     }
  28.  
  29.     system("pause");
  30.     n=0;
  31.     while ( true )
  32.     {
  33.         system("cls");
  34.         printf("Generation : %d \n",n+1 );
  35.         if ( n%2==0 )
  36.         {
  37.             for ( i=1;i<=20;i++ )
  38.             {
  39.                 for ( j=1;j<=30;j++ )
  40.                 {
  41.                     dp2[i][j]=false;
  42.                     z=0;
  43.                         z+=int(dp1[i-1][j-1]);
  44.                         z+=int(dp1[i+1][j-1]);
  45.                         z+=int(dp1[i][j-1]);
  46.                         z+=int(dp1[i-1][j]);
  47.                         z+=int(dp1[i+1][j]);
  48.                         z+=int(dp1[i-1][j+1]);
  49.                         z+=int(dp1[i+1][j+1]);
  50.                         z+=int(dp1[i][j+1]);
  51.  
  52.                     if ( (dp1[i][j] && z>=2 && z<=3) || (!dp1[i][j] && z==3) )
  53.                     {
  54.                         dp2[i][j]=true;
  55.                         printf("O");
  56.  
  57.                     }
  58.                     else
  59.                     {
  60.                         dp2[i][j]=false;
  61.                         printf(" ");
  62.                     }
  63.                 }
  64.                 printf("\n");
  65.             }
  66.  
  67.         }
  68.         else
  69.         {
  70.             for ( i=1;i<=20;i++ )
  71.             {
  72.                 for ( j=1;j<=30;j++ )
  73.                 {
  74.                     dp1[i][j]=false;
  75.                     z=0;
  76.                         z+=int(dp2[i-1][j-1]);
  77.                         z+=int(dp2[i-1][j]);
  78.                         z+=int(dp2[i-1][j+1]);
  79.                         z+=int(dp2[i][j-1]);
  80.                         z+=int(dp2[i][j+1]);
  81.                         z+=int(dp2[i+1][j-1]);
  82.                         z+=int(dp2[i+1][j]);
  83.                         z+=int(dp2[i+1][j+1]);
  84.  
  85.                     if ( (dp2[i][j] && z>=2 && z<=3) || (!dp2[i][j] && z==3) )
  86.                     {
  87.                         dp1[i][j]=true;
  88.                         printf("O");
  89.  
  90.                     }
  91.                     else
  92.                     {
  93.                         dp1[i][j]=false;
  94.                         printf(" ");
  95.                     }
  96.                 }
  97.                 printf("\n");
  98.             }
  99.  
  100.  
  101.         }
  102.         system ("pause");
  103.         n++;
  104.     }
  105. }
  106. /*
  107.  
  108. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  109. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  110. CCCCCCCCCOOOCCCCCCCCCCCCCCCCCC
  111. CCCCCCCCCCCOCCCCCCCCCCCCCCCCCC
  112. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  113. CCCCCCOCCCCCCOCCCCCCCCCCCCCCCC
  114. CCCCOCOCCCCOOOOCCCOCCCCCCCCCCC
  115. CCCCCOOCCCCCCCCCCCOCCCCCCCCCCC
  116. CCCCCCCCCCCCCCCCCCOCCCCCCCCCCC
  117. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  118. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  119. CCCCCCCCCCOOCCCCCCCCCCCCCCCCCC
  120. CCCCCCCCCOCCOCCCCCCCCCCCCCCCCC
  121. CCCCCCCCCOCOOCCCCCCCCCCCCCCCCC
  122. CCCCCCCCCCOOCCCCCCCCCCCCCCCCCC
  123. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  124. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  125. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  126. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  127. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  128. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  129.  
  130.  
  131. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  132. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  133. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  134. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  135. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  136. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  137. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  138. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  139. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  140. OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
  141. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  142. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  143. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  144. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  145. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  146. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  147. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  148. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  149. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  150. CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  151. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement