Advertisement
Guest User

Untitled

a guest
Mar 31st, 2015
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.52 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. void initialisation (int tableau[10][10])
  6. {
  7.     srand(time(NULL));
  8.  
  9.     int i,j;
  10.     for(i=0;i<10;i++){
  11.         for(j=0;j<10;j++){
  12.             tableau[i][j] = rand()%2;
  13.         }
  14.     }
  15. }
  16.  
  17. void DisplayWorld(int tableau[10][10])
  18. {
  19.     int i,j;
  20.     for(i=0;i<10;i++){
  21.         for(j=0;j<10;j++){
  22.  
  23.             if (tableau[i][j]==0){
  24.                 printf("- ");
  25.             }
  26.             if (tableau[i][j]==1){
  27.                 printf("0 ");
  28.             }
  29.             if (tableau[i][j]==1){
  30.                 printf("+ ");
  31.             }
  32.         }
  33.         printf("\n");
  34.     }
  35. }
  36.  
  37. int Nombre_Voisins_Vivants(int tableau[10][10], int i, int j)
  38. {
  39.  
  40.     int NombreVoisins = 0;
  41.  
  42.     if (tableau[i-1][j-1] >= 1){
  43.         NombreVoisins++;
  44.     }
  45.     if (tableau[i-1][j] >= 1){
  46.         NombreVoisins++;
  47.     }
  48.     if (tableau[i-1][j+1] >= 1){
  49.         NombreVoisins++;
  50.     }
  51.     if (tableau[i][j-1] >= 1){
  52.         NombreVoisins++;
  53.     }
  54.     if (tableau[i][j+1] >= 1){
  55.         NombreVoisins++;
  56.     }
  57.     if (tableau[i+1][j-1] >= 1){
  58.         NombreVoisins++;
  59.     }
  60.     if (tableau[i+1][j] >= 1){
  61.         NombreVoisins++;
  62.     }
  63.     if (tableau[i+1][j+1] >= 1){
  64.         NombreVoisins++;
  65.     }
  66.     return NombreVoisins;
  67. }
  68.  
  69.     int Generation_case (int NombreVoisinsVivants, int tableau[10][10],int i,int j){
  70.     int Case;
  71.     Case = tableau[i][j];
  72.     if (Case == 1){
  73.         if (NombreVoisinsVivants < 2){
  74.             return 0;
  75.         }
  76.         else if (NombreVoisinsVivants == 2 || NombreVoisinsVivants == 3){
  77.             return 2;
  78.         }
  79.         else if (NombreVoisinsVivants >= 4){
  80.             return 0;
  81.         }
  82.     }
  83.     if (Case == 2){
  84.         if (NombreVoisinsVivants < 2){
  85.             return 0;
  86.         }
  87.         else if (NombreVoisinsVivants == 2 || NombreVoisinsVivants == 3){
  88.             return 2;
  89.         }
  90.         else if (NombreVoisinsVivants >= 4){
  91.             return 0;
  92.         }
  93.     }
  94.     if (Case == 0){
  95.         if (NombreVoisinsVivants == 3){
  96.             return 1;
  97.         }
  98.  
  99.     }
  100. }
  101.  
  102. int Nouvelle_gen(int tableau[10][10], int tabl_tempo[10][10])
  103. {
  104.     int NombreVoisinsVivants, Case;
  105.     for(int i=1; i<10;i++){
  106.         for(int j=1; j<10; j++){
  107.             NombreVoisinsVivants = Nombre_Voisins_Vivants(tableau,i,j);
  108.             tabl_tempo[i][j] = Generation_case(tableau, i, j, NombreVoisinsVivants);
  109.         }
  110.     }
  111.     for(int x=0; x<10; x++){
  112.         for(int y=0; y<10; y++){
  113.             tableau[x][y] = tabl_tempo[x][y];
  114.         }
  115.     }
  116. }
  117.  
  118. int main()
  119. {
  120.     char choix;
  121.     int x;
  122.  
  123.     int tableau[10][10];
  124.     int tabl_tempo[10][10];
  125.     for (int i=0; i<10; i++){
  126.             for(int j=0;j<10;j++){
  127.                     tableau[i][j]=02;
  128.             }
  129.     }
  130.     for (int i=0;i<10;i++){
  131.         for (int j=0;j<10;j++){
  132.             tabl_tempo[i][j] = 0;
  133.         }
  134.     }
  135.  
  136.     initialisation(tableau);
  137.     DisplayWorld(tableau);
  138.     printf("\nsouhaitez-vous continuer ou quitter : (c) ou (q) ");
  139.     choix = getchar();
  140.  
  141.     if (choix == 'q'){
  142.         printf("\nJeu termine\n");
  143.     }
  144.     else{
  145.         for(int l=2; l<1000; l++){
  146.  
  147.             printf("\n\n");
  148.             Nouvelle_gen(tableau, tabl_tempo);
  149.             DisplayWorld(tableau);
  150.             printf("\nsouhaitez-vous continuer ou quitter : (c) (q) ");
  151.             choix = getchar();
  152.             if(choix == 'q'){
  153.                 printf("\nJeu termine\n");
  154.                 break;
  155.             }
  156.         }
  157.     }
  158.     return 0;
  159. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement