Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- void initialisation (int tableau[10][10])
- {
- srand(time(NULL));
- int i,j;
- for(i=0;i<10;i++){
- for(j=0;j<10;j++){
- tableau[i][j] = rand()%2;
- }
- }
- }
- void DisplayWorld(int tableau[10][10])
- {
- int i,j;
- for(i=0;i<10;i++){
- for(j=0;j<10;j++){
- if (tableau[i][j]==0){
- printf("- ");
- }
- if (tableau[i][j]==1){
- printf("0 ");
- }
- if (tableau[i][j]==1){
- printf("+ ");
- }
- }
- printf("\n");
- }
- }
- int Nombre_Voisins_Vivants(int tableau[10][10], int i, int j)
- {
- int NombreVoisins = 0;
- if (tableau[i-1][j-1] >= 1){
- NombreVoisins++;
- }
- if (tableau[i-1][j] >= 1){
- NombreVoisins++;
- }
- if (tableau[i-1][j+1] >= 1){
- NombreVoisins++;
- }
- if (tableau[i][j-1] >= 1){
- NombreVoisins++;
- }
- if (tableau[i][j+1] >= 1){
- NombreVoisins++;
- }
- if (tableau[i+1][j-1] >= 1){
- NombreVoisins++;
- }
- if (tableau[i+1][j] >= 1){
- NombreVoisins++;
- }
- if (tableau[i+1][j+1] >= 1){
- NombreVoisins++;
- }
- return NombreVoisins;
- }
- int Generation_case (int NombreVoisinsVivants, int tableau[10][10],int i,int j){
- int Case;
- Case = tableau[i][j];
- if (Case == 1){
- if (NombreVoisinsVivants < 2){
- return 0;
- }
- else if (NombreVoisinsVivants == 2 || NombreVoisinsVivants == 3){
- return 2;
- }
- else if (NombreVoisinsVivants >= 4){
- return 0;
- }
- }
- if (Case == 2){
- if (NombreVoisinsVivants < 2){
- return 0;
- }
- else if (NombreVoisinsVivants == 2 || NombreVoisinsVivants == 3){
- return 2;
- }
- else if (NombreVoisinsVivants >= 4){
- return 0;
- }
- }
- if (Case == 0){
- if (NombreVoisinsVivants == 3){
- return 1;
- }
- }
- }
- int Nouvelle_gen(int tableau[10][10], int tabl_tempo[10][10])
- {
- int NombreVoisinsVivants, Case;
- for(int i=1; i<10;i++){
- for(int j=1; j<10; j++){
- NombreVoisinsVivants = Nombre_Voisins_Vivants(tableau,i,j);
- tabl_tempo[i][j] = Generation_case(tableau, i, j, NombreVoisinsVivants);
- }
- }
- for(int x=0; x<10; x++){
- for(int y=0; y<10; y++){
- tableau[x][y] = tabl_tempo[x][y];
- }
- }
- }
- int main()
- {
- char choix;
- int x;
- int tableau[10][10];
- int tabl_tempo[10][10];
- for (int i=0; i<10; i++){
- for(int j=0;j<10;j++){
- tableau[i][j]=02;
- }
- }
- for (int i=0;i<10;i++){
- for (int j=0;j<10;j++){
- tabl_tempo[i][j] = 0;
- }
- }
- initialisation(tableau);
- DisplayWorld(tableau);
- printf("\nsouhaitez-vous continuer ou quitter : (c) ou (q) ");
- choix = getchar();
- if (choix == 'q'){
- printf("\nJeu termine\n");
- }
- else{
- for(int l=2; l<1000; l++){
- printf("\n\n");
- Nouvelle_gen(tableau, tabl_tempo);
- DisplayWorld(tableau);
- printf("\nsouhaitez-vous continuer ou quitter : (c) (q) ");
- choix = getchar();
- if(choix == 'q'){
- printf("\nJeu termine\n");
- break;
- }
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement