Jeu de la vie en C
gaet67
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
don_josep Messages postés 22 Statut Membre -
don_josep Messages postés 22 Statut Membre -
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 :
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 :
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int t1[30][30],t2[30][30];
int tirage()
{
return rand()%2;
}
void mise_a_zero(int t1[30][30],int t2[30][30])
{
int i,j;
for(i=0;i<30;i++)
{
for(j=0;i<30;j++)
{
t1[i][j]==0;
t2[i][j]==0;
}
}
}
void affichage(int t1[30][30])
{
int i,j;
for(i=0;i<30;i++)
{
for(j=0;j<30;j++)
{
if (t1[i][j]==1)
{
printf("X");
}
else
{
printf(" ");
}
}
}
void nombre_voisin(int t1[30][30],int t2[30][30])
{
int i,j,nb;
for(i=0;i<30;i++)
{
for(j=0;j<30;j++)
{
if((i==0)&&(j==0))
{
nb=t1[i][j+1]+t1[i+1][j+1]+t1[i+1][j];
}
else if((i==0)&&(j==29))
{
nb=t1[i][j-1]+t1[i+1][j-1]+t1[i+1][j];
}
else if((i==29)&&(j==0))
{
nb=t1[i-1][j]+t1[i-1][j+1]+t1[i][j+1];
}
else if((i==0)&&(j!=0)&&(j!=29))
{
nb=t1[i][j-1]+t1[i+1][j-1]+t1[i+1][j]+t1[i+1][j+1]+t1[i][j+1];
}
else if((j==0)&&(i!=0)&&(i!=29))
{
nb=t1[i-1][j]+t1[i-1][j+1]+t1[i][j+1]+t1[i+1][j+1]+t1[i+1][j];
}
else if((i==29)&&(j!=0)&&(j!=29))
{
nb=t1[i][j-1]+t1[i-1][j-1]+t1[i-1][j]+t1[i-1][j+1]+t1[i][j+1];
}
else if((j==29)&&(i!=0)&&(i!=29))
{
nb=t1[i-1][j]+t1[i-1][j-1]+t1[i][j-1]+t1[i+1][j-1]+t1[i+1][j];
}
else if((i!=0)&&(i!=29)&&(j!=0)&&(j!=29))
{
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];
}
if((t1[i][j]==0)&&(nb==3))
{
t2[i][j]==1;
}
else if((t1[i][j]==1)&&((nb==2)||(nb==3)))
{
t2[i][j]==1;
}
else if((t1[i][j]==1)&&((nb==1)||(nb==0)||(nb>3)))
{
t2[i][j]==0;
}
}
}
}
void echange(int t1[30][30],int t2[30][30])
{
int i,j,tmp;
for(i=0;i<30;i++)
{
for(j=0;j<30;j++)
{
tmp=t1[i][j];
t1[i][j]=t2[i][j];
t2[i][j]=tmp;
}
}
}
void tempo(int n)
{
int i,x;
x=0;
for(i=0;i<n;i++)
{
x=1+i;
}
}
int testfin(int t1[30][30])
{
int cpt;
for(i=0;i<30;i++)
{
for(j=0;j<30;j++)
{
if(t1[i][j]==0)
{
cpt++;
}
else
{
cpt=cpt;
}
}
}
return cpt;
}
void jouer()
{
int end;
end==0;
mise_a_zero(t1,t2);
for(i=0;i<30;i++)
{
for(j=0;j<30;j++)
{
t1[i][j]=tirage();
if (t1[i][j]==1)
{
printf("X");
}
else
{
printf(" ");
}
}
}
do
{
nombre_voisin(t1,t2);
if(t1=t2)
{
printf("\nL'evolution de l'etat des cases est terminee ...\n");
end==1;
}
else
{
if((testfin(t1)==0)||(testfin(t1)==900))
{
printf("L'evolution de l'etat des cases est terminee ...\n");
end==1;
}
else
{
end==0;
}
}
affichage(t1);
echange(t1,t2);
tempo(100);
}
while(end!=1);
}
int main()
{
int a,fin;
printf(" -=> Bienvenu dans le jeu de la vie <=-");
printf("\n\n\n\n\n\n");
do
{
fin=0;
printf(" Que voulez-vous faire?\n\n");
printf(" 1 - Afficher les regles du jeu\n");
printf(" 2 - Jouer\n");
printf(" 3 - Quitter\n");
printf(" Entrez le numero qui precede ce que vous souhaitez faire : ");
scanf("%i",&a);
printf("\n");
if(a==1)
{
printf("Tout d'abord il faut preciser que le jeu de la vie n'est pas vraiment un jeu au sens ludique,\n");
printf("puisqu'il ne necessite aucun joueur. En fait il s'agit d'un automate cellulaire, un modele \n");
printf("ou chaque etat conduit mecaniquement a l'etat suivant a partir des regles pre-etablies.\n\n");
printf("Le jeu se deroule sur une grille a deux dimensions dont les cases peuvent prendre deux \n");
printf("etats distincts : 'vivantes' ou 'mortes'.\n");
printf("Les regles sont : \n");
printf("-> une cellule morte possedant exactement trois voisines vivantes devient elle aussi vivante.\n");
printf("-> une cellule vivante possedant deux ou trois voisines vivante reste vivante.\n");
printf("-> dans les autres cas la cellule meurt ou reste a l'etat morte.\n\n");
}
else
{
if(a==2)
{
srand(time(NULL));
jouer();
}
else
{
fin==1;
}
}
}
while (fin=!1);
return 0;
}
}
A voir également:
- Jeu de la vie en C
- 94 jeu - Télécharger - Puzzle & Réflexion
- 94 degrés jeu - Télécharger - Divers Jeux
- Jeu zuma - Télécharger - Jeux vidéo
- Jeu google - Guide
- Jeu logo - Télécharger - Jeux vidéo