Probleme programmation en C jeu de la vie

Probleme programmation en C jeu de la vie - C - Programmation

Marsh Posté le 13-05-2007 à 18:25:23    

Jeu de la vie en C  
Bonjour !  
J'ai a programmer le jeu de la vie en C et je dois le rendre mercredi et ça fais une semaine que je cherche pourquoi je n'arrive pas a le compiler et voir si il marche ...  
J'aimerais savoir si quelqu'un pourrait m'aider svp ...  
J'utilise Dev-C++ et quand je compile je recoi comme message :  
[Linker error] undefined reference to `WinMain@16'  
ld returned 1 exit status  
 
Le programme que j'ai ecrit est :  
 

Code :
  1. #include <stdio.h>
  2. #include <time.h>
  3. #include <stdlib.h>
  4. int t1[30][30],t2[30][30];
  5. int tirage()
  6. {
  7. return rand()%2;
  8. }
  9. void mise_a_zero(int t1[30][30],int t2[30][30])
  10. {
  11. int i,j;
  12. for(i=0;i<30;i++)
  13. {
  14.  for(j=0;i<30;j++)
  15.  {
  16.   t1[i][j]==0;
  17.   t2[i][j]==0;
  18.  }
  19. }
  20. }
  21. void affichage(int t1[30][30])
  22. {
  23. int i,j;
  24. for(i=0;i<30;i++)
  25. {
  26.  for(j=0;j<30;j++)
  27.  {
  28.  if (t1[i][j]==1)
  29.  {
  30.   printf("X" );
  31.  }
  32.  else
  33.  {
  34.   printf(" " );
  35.  }
  36. }
  37. }
  38. void nombre_voisin(int t1[30][30],int t2[30][30])
  39. {
  40. int i,j,nb;
  41. for(i=0;i<30;i++)
  42. {
  43.  for(j=0;j<30;j++)
  44.  {
  45.          if((i==0)&&(j==0))
  46.   {
  47.    nb=t1[i][j+1]+t1[i+1][j+1]+t1[i+1][j];
  48.   }
  49.   else if((i==0)&&(j==29))
  50.   {
  51.    nb=t1[i][j-1]+t1[i+1][j-1]+t1[i+1][j];
  52.   }
  53.   else if((i==29)&&(j==0))
  54.   {
  55.    nb=t1[i-1][j]+t1[i-1][j+1]+t1[i][j+1];
  56.   }
  57.   else if((i==0)&&(j!=0)&&(j!=29))
  58.   {
  59.    nb=t1[i][j-1]+t1[i+1][j-1]+t1[i+1][j]+t1[i+1][j+1]+t1[i][j+1];
  60.   }
  61.   else if((j==0)&&(i!=0)&&(i!=29))
  62.   {
  63.    nb=t1[i-1][j]+t1[i-1][j+1]+t1[i][j+1]+t1[i+1][j+1]+t1[i+1][j];
  64.   }
  65.   else if((i==29)&&(j!=0)&&(j!=29))
  66.   {
  67.    nb=t1[i][j-1]+t1[i-1][j-1]+t1[i-1][j]+t1[i-1][j+1]+t1[i][j+1];
  68.   }
  69.   else if((j==29)&&(i!=0)&&(i!=29))
  70.   {
  71.    nb=t1[i-1][j]+t1[i-1][j-1]+t1[i][j-1]+t1[i+1][j-1]+t1[i+1][j];
  72.   }
  73.   else if((i!=0)&&(i!=29)&&(j!=0)&&(j!=29))
  74.   {
  75.    nb=t1[i-1][j]+t1[i-1][j+1]+t1[i][j+1]+t1[i+1][j+1]+t1[i+1][j]+t1[i+1][j-1]+t1[i][j-1]+t1[i-1][j-1];
  76.   }
  77.   if((t1[i][j]==0)&&(nb==3))
  78.   {
  79.    t2[i][j]==1;
  80.   }
  81.   else if((t1[i][j]==1)&&((nb==2)||(nb==3)))
  82.   {
  83.    t2[i][j]==1;
  84.   }
  85.   else if((t1[i][j]==1)&&((nb==1)||(nb==0)||(nb>3)))
  86.   {
  87.    t2[i][j]==0;
  88.   }
  89.  }
  90. }
  91. }
  92. void echange(int t1[30][30],int t2[30][30])
  93. {
  94. int i,j,tmp;
  95. for(i=0;i<30;i++)
  96. {
  97.  for(j=0;j<30;j++)
  98.  {
  99.   tmp=t1[i][j];
  100.   t1[i][j]=t2[i][j];
  101.   t2[i][j]=tmp;
  102.  }
  103. }
  104. }
  105. void tempo(int n)
  106. {
  107. int i,x;
  108. x=0;
  109. for(i=0;i<n;i++)
  110. {
  111.  x=1+i;
  112. }
  113. }
  114. int testfin(int t1[30][30])
  115. {
  116.      int cpt;
  117.      for(i=0;i<30;i++)
  118.      {
  119.                       for(j=0;j<30;j++)
  120.                       {
  121.                                        if(t1[i][j]==0)
  122.                                        {
  123.                                                       cpt++;
  124.                                        }
  125.                                        else
  126.                                        {
  127.                                            cpt=cpt;
  128.                                        }
  129.                       }
  130.      }
  131.      return cpt;
  132. }
  133. void jouer()
  134. {
  135.      int end;
  136.      end==0;
  137.      mise_a_zero(t1,t2);
  138.      for(i=0;i<30;i++)
  139.      {
  140.                       for(j=0;j<30;j++)
  141.                       {
  142.                             t1[i][j]=tirage();
  143.                          if (t1[i][j]==1)
  144.                          {
  145.                               printf("X" );
  146.                             }
  147.                      else
  148.                          {
  149.                                         printf(" " );
  150.                          }
  151.                       }
  152.      }
  153.      do
  154.      {
  155.             nombre_voisin(t1,t2);
  156.             if(t1=t2)
  157.             {
  158.                      printf("\nL'evolution de l'etat des cases est terminee ...\n" );
  159.                      end==1;
  160.             }
  161.             else
  162.             {
  163.                 if((testfin(t1)==0)||(testfin(t1)==900))
  164.                 {
  165.                      printf("L'evolution de l'etat des cases est terminee ...\n" );
  166.                      end==1;
  167.                 }
  168.                 else
  169.                 {
  170.                     end==0;
  171.                 }
  172.             }
  173.             affichage(t1);
  174.             echange(t1,t2);
  175.             tempo(100);
  176.      }
  177.      while(end!=1);
  178. }
  179.            
  180.            
  181. int main()
  182. {
  183. int a,fin;
  184. printf("                 -=> Bienvenu dans le jeu de la vie <=-" );
  185. printf("\n\n\n\n\n\n" );
  186. do
  187. {
  188.  fin=0;
  189.  printf("                            Que voulez-vous faire?\n\n" );
  190.  printf("                      1 - Afficher les regles du jeu\n" );
  191.  printf("                                 2 - Jouer\n" );
  192.  printf("                                3 - Quitter\n" );
  193.  printf("             Entrez le numero qui precede ce que vous souhaitez faire : " );
  194.  scanf("%i",&a);
  195.  printf("\n" );
  196.  if(a==1)
  197.  {
  198.   printf("Tout d'abord il faut preciser que le jeu de la vie n'est pas vraiment un jeu au sens ludique,\n" );
  199.   printf("puisqu'il ne necessite aucun joueur. En fait il s'agit d'un automate cellulaire, un modele \n" );
  200.   printf("ou chaque etat conduit mecaniquement a l'etat suivant a partir des regles pre-etablies.\n\n" );
  201.   printf("Le jeu se deroule sur une grille a deux dimensions dont les cases peuvent prendre deux \n" );
  202.   printf("etats distincts : 'vivantes' ou 'mortes'.\n" );
  203.   printf("Les regles sont : \n" );
  204.   printf("-> une cellule morte possedant exactement trois voisines vivantes devient elle aussi vivante.\n" );
  205.   printf("-> une cellule vivante possedant deux ou trois voisines vivante reste vivante.\n" );
  206.   printf("-> dans les autres cas la cellule meurt ou reste a l'etat morte.\n\n" );
  207.  }
  208.  else
  209.  {
  210.   if(a==2)
  211.   {
  212.                      srand(time(NULL));
  213.                      jouer();
  214.   }
  215.   else
  216.   {
  217.    fin==1;
  218.   }
  219.  }
  220.     }
  221. while (fin=!1);
  222. return 0;
  223. }
  224. }

Reply

Marsh Posté le 13-05-2007 à 18:25:23   

Reply

Marsh Posté le 13-05-2007 à 18:28:46    

Ton type de projet doit être faux.


---------------
Töp of the plöp
Reply

Marsh Posté le 13-05-2007 à 18:29:05    

(poste le makefile)


---------------
Töp of the plöp
Reply

Marsh Posté le 13-05-2007 à 18:32:00    

je suis dsl mais je sais pas ce que c'est le makefile

Reply

Marsh Posté le 13-05-2007 à 18:33:06    

tu as programmé tout ça et tu ne sais pas ce qu'est un makefile ?


---------------
Töp of the plöp
Reply

Marsh Posté le 13-05-2007 à 18:34:22    

oui ...

Reply

Marsh Posté le 13-05-2007 à 18:34:44    

Te fous pas de ma gueule stp, et en plus ça t'aide pas de baratiner.


---------------
Töp of the plöp
Reply

Marsh Posté le 13-05-2007 à 18:35:58    

Reply

Marsh Posté le 13-05-2007 à 18:37:11    

Je me fous pas de ta gueule ! Je sais pas ce que c'est ...  
C'est la premiere fois que je programme quelque chose, et ça me servirait a rien de te dire que je sais pas ce que c'est alors que je demande de l'aide

Reply

Marsh Posté le 13-05-2007 à 18:43:28    

ben vois le lien que je t'ai indiqué ...


---------------
Töp of the plöp
Reply

Marsh Posté le 13-05-2007 à 18:43:28   

Reply

Marsh Posté le 13-05-2007 à 18:47:32    

Je suis entrain de lire. Mais en regardant vite fait mon programme est ce que il y a des grosses erreurs qui t'ont marqué ?

Reply

Marsh Posté le 13-05-2007 à 18:50:58    

Je ne suis pas un compilateur, mais nombre-voisin m'a l'air un peu gargantuesque.


---------------
Töp of the plöp
Reply

Marsh Posté le 13-05-2007 à 18:53:26    

Ok merci comme mm ...

Reply

Marsh Posté le 13-05-2007 à 18:59:20    

"merci quand même"
 


---------------
Töp of the plöp
Reply

Marsh Posté le 13-05-2007 à 19:11:13    

Bravo tu a corrigé une erreur ça fais de toi quelqu'un d'important felicitation tu peux aller raconter ça à tous tes amis et toute ta famille je pense qu'une petite fete s'impose ...  

Reply

Marsh Posté le 13-05-2007 à 19:16:33    

gaet67 a écrit :

Jeu de la vie en C  
Bonjour !  
J'ai a programmer le jeu de la vie en C et je dois le rendre mercredi et ça fais une semaine que je cherche pourquoi je n'arrive pas a le compiler et voir si il marche ...  


 
Marrant ça, tu veux dire que tu as tapé tout ce code d'une traite, sans même le compiler une fois en cours de route pour voir si ça marche ? [:petrus75]
 
Soit honnête et dis plutôt que tu as pompé ce code quelque part et que tu n'arrive pas à le compiler  :sarcastic:

Reply

Marsh Posté le 13-05-2007 à 19:19:30    

Code :
  1. int i,j,nb;
  2.         for(i=0;i<30;i++)
  3.         {
  4.             for(j=0;j<30;j++)
  5.             {
  6.                     if((i==0)&&(j==0))
  7.                 {
  8.                     nb=t1[i][j+1]+t1[i+1][j+1]+t1[i+1][j];
  9.                 }
  10.                 else if((i==0)&&(j==29))
  11.                 {
  12.                     nb=t1[i][j-1]+t1[i+1][j-1]+t1[i+1][j];
  13.                 }
  14.                 else if((i==29)&&(j==0))
  15.                 {
  16.                     nb=t1[i-1][j]+t1[i-1][j+1]+t1[i][j+1];
  17.                 }
  18.                 else if((i==0)&&(j!=0)&&(j!=29))
  19.                 {
  20.                     nb=t1[i][j-1]+t1[i+1][j-1]+t1[i+1][j]+t1[i+1][j+1]+t1[i][j+1];
  21.                 }
  22.                 else if((j==0)&&(i!=0)&&(i!=29))
  23.                 {
  24.                     nb=t1[i-1][j]+t1[i-1][j+1]+t1[i][j+1]+t1[i+1][j+1]+t1[i+1][j];
  25.                 }
  26.                 else if((i==29)&&(j!=0)&&(j!=29))
  27.                 {
  28.                     nb=t1[i][j-1]+t1[i-1][j-1]+t1[i-1][j]+t1[i-1][j+1]+t1[i][j+1];
  29.                 }
  30.                 else if((j==29)&&(i!=0)&&(i!=29))
  31.                 {
  32.                     nb=t1[i-1][j]+t1[i-1][j-1]+t1[i][j-1]+t1[i+1][j-1]+t1[i+1][j];
  33.                 }
  34.                 else if((i!=0)&&(i!=29)&&(j!=0)&&(j!=29))
  35.                 {
  36.                     nb=t1[i-1][j]+t1[i-1][j+1]+t1[i][j+1]+t1[i+1][j+1]+t1[i+1][j]+t1[i+1][j-1]+t1[i][j-1]+t1[i-1][j-1];
  37.                 }
  38.                 if((t1[i][j]==0)&&(nb==3))
  39.                 {
  40.                     t2[i][j]==1;
  41.                 }
  42.                 else if((t1[i][j]==1)&&((nb==2)||(nb==3)))
  43.                 {
  44.                     t2[i][j]==1;
  45.                 }
  46.                 else if((t1[i][j]==1)&&((nb==1)||(nb==0)||(nb>3)))
  47.                 {
  48.                     t2[i][j]==0;
  49.                 }
  50.             }
  51.         }


 
rien que voir ca jveux pas voir la suite...

Reply

Marsh Posté le 13-05-2007 à 19:20:29    

Et ça me servirait a quoi de le copier quelque part ?
Je l'ai commencé en cours d'info, je n'ai pas eu le temps de le finir donc je l'ai continué chez moi sauf que a l'IUT on utilise linux et VI labas je le compilais et je n'avais pas ce message mais il y avait tout de meme un probleme parce que ca m'affichait uniquement des "X"
Voila ...

Reply

Marsh Posté le 13-05-2007 à 19:23:10    

Qu'est ce qui est faux ?

Reply

Marsh Posté le 13-05-2007 à 19:45:46    

gaet67 a écrit :

Bravo tu a corrigé une erreur ça fais de toi quelqu'un d'important felicitation tu peux aller raconter ça à tous tes amis et toute ta famille je pense qu'une petite fete s'impose ...


Boulet.


---------------
Töp of the plöp
Reply

Marsh Posté le 13-05-2007 à 20:14:02    

Ca me fera toujours rire les gars comme toi, le genre de pauvre gars qui reste chez lui a longueur de journée à regarder les forums, à mettre des petits commentaires du genre : "Pas de language sms c'est un forum" ...
Le pire c'est que je t'es dis merci alors que t'as été inutile ...

Reply

Marsh Posté le 13-05-2007 à 21:16:08    

Comment tu m'casses [:hahaguy]
PS: va jouer dans le mixer, psychologue à deux balles, tu connais rien de ma vie.


Message édité par _darkalt3_ le 13-05-2007 à 21:19:05

---------------
Töp of the plöp
Reply

Marsh Posté le 13-05-2007 à 21:24:42    

Pas difficile de connaitre ta vie regarde rien que avec ton pseudo "_darkalt3_素人" on voi que t'es un pauvre gars accro au manga, surement ce soir c'est manga X surement ...  
Donc jvais te laisser a tes occupations ...

Reply

Marsh Posté le 13-05-2007 à 21:30:34    

Et dire que j'allais rater ça [:jar jar]
 
Ahh, les dimanches soir et leur lot d'étudiants en galère pour les devoirs du lendemain [:atsuko]

Reply

Marsh Posté le 13-05-2007 à 22:59:37    

aahhahha le boulay !


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
Reply

Marsh Posté le 13-05-2007 à 23:05:12    

bon allez fermeture...
gaet67 >> au lieu de créer un projet Application Windows, créé donc un projet Console, ça marchera mieux...

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed