Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1402 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Probleme programmation en C jeu de la vie

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme programmation en C jeu de la vie

n°1559648
gaet67
Posté le 13-05-2007 à 18:25:23  profilanswer
 

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. }

mood
Publicité
Posté le 13-05-2007 à 18:25:23  profilanswer
 

n°1559651
_darkalt3_
Proctopathe
Posté le 13-05-2007 à 18:28:46  profilanswer
 

Ton type de projet doit être faux.


---------------
Töp of the plöp
n°1559652
_darkalt3_
Proctopathe
Posté le 13-05-2007 à 18:29:05  profilanswer
 

(poste le makefile)


---------------
Töp of the plöp
n°1559654
gaet67
Posté le 13-05-2007 à 18:32:00  profilanswer
 

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

n°1559655
_darkalt3_
Proctopathe
Posté le 13-05-2007 à 18:33:06  profilanswer
 

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


---------------
Töp of the plöp
n°1559659
gaet67
Posté le 13-05-2007 à 18:34:22  profilanswer
 

oui ...

n°1559661
_darkalt3_
Proctopathe
Posté le 13-05-2007 à 18:34:44  profilanswer
 

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


---------------
Töp of the plöp
n°1559663
_darkalt3_
Proctopathe
Posté le 13-05-2007 à 18:35:58  profilanswer
 
n°1559664
gaet67
Posté le 13-05-2007 à 18:37:11  profilanswer
 

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

n°1559666
_darkalt3_
Proctopathe
Posté le 13-05-2007 à 18:43:28  profilanswer
 

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


---------------
Töp of the plöp
mood
Publicité
Posté le 13-05-2007 à 18:43:28  profilanswer
 

n°1559667
gaet67
Posté le 13-05-2007 à 18:47:32  profilanswer
 

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é ?

n°1559668
_darkalt3_
Proctopathe
Posté le 13-05-2007 à 18:50:58  profilanswer
 

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


---------------
Töp of the plöp
n°1559670
gaet67
Posté le 13-05-2007 à 18:53:26  profilanswer
 

Ok merci comme mm ...

n°1559673
_darkalt3_
Proctopathe
Posté le 13-05-2007 à 18:59:20  profilanswer
 

"merci quand même"
 


---------------
Töp of the plöp
n°1559675
gaet67
Posté le 13-05-2007 à 19:11:13  profilanswer
 

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 ...  

n°1559676
ory
Posté le 13-05-2007 à 19:16:33  profilanswer
 

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:

n°1559678
red factio​n
Posté le 13-05-2007 à 19:19:30  profilanswer
 

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...

n°1559681
gaet67
Posté le 13-05-2007 à 19:20:29  profilanswer
 

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 ...

n°1559682
gaet67
Posté le 13-05-2007 à 19:23:10  profilanswer
 

Qu'est ce qui est faux ?

n°1559690
_darkalt3_
Proctopathe
Posté le 13-05-2007 à 19:45:46  profilanswer
 

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
n°1559713
gaet67
Posté le 13-05-2007 à 20:14:02  profilanswer
 

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 ...

n°1559742
_darkalt3_
Proctopathe
Posté le 13-05-2007 à 21:16:08  profilanswer
 

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
n°1559749
gaet67
Posté le 13-05-2007 à 21:24:42  profilanswer
 

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 ...

n°1559753
Elmoricq
Modérateur
Posté le 13-05-2007 à 21:30:34  profilanswer
 

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]

n°1559772
zecrazytux
Posté le 13-05-2007 à 22:59:37  profilanswer
 

aahhahha le boulay !


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
n°1559775
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 13-05-2007 à 23:05:12  profilanswer
 

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

mood
Publicité
Posté le   profilanswer
 


Aller à :
  FORUM HardWare.fr
  Programmation
  C

  Probleme programmation en C jeu de la vie

 

Sujets relatifs
[C] Programmation fonction recup Bits port SérieSolution à un problème de design
probleme sur scilabprobléme frame , include
Probleme Application.OnMessageProblème : Requêtes sans résultat
Problème select[PHP-GTK] Mais où est le problème ?
Problème d'encodageProblème avec bouton on/off
Plus de sujets relatifs à : Probleme programmation en C jeu de la vie


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR