Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

TIC-TAC-TOE EN C (EXAMS DU DEUG MIAS...)


Information sur la source

Catégorie :Jeux Classé sous : morpion, jeu, tictactoe Niveau : Débutant Date de création : 14/12/2002 Date de mise à jour : 14/12/2002 20:37:21 Vu : 3 328

Note :
7 / 10 - par 1 personne
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

Description

un petit morpion console tombé aux exams de premierer année de deug mias à luniversité des antilles et de la guyanne (je sais ça ennerve...)
voila ma méthode :

 

Source

  • #include <stdio.h>
  • int verifier_position(int plateau[3][3],int ligne,int colonne){
  • if ((ligne<3)&&(ligne>=0)){
  • if ((colonne<3)&&(colonne>=0))
  • if (plateau[ligne][colonne]==0)
  • return(1);
  • }
  • return(0);
  • }
  • void placer_pion(int plateau[3][3], int joueur){
  • int posx,posy;
  • int result=2;
  • while(result!=1){
  • if(result==0)
  • printf("\nmauvaise position...\n");
  • printf("Entrer la colonne :");
  • scanf("%d",&posx);
  • printf("Entrer la ligne :");
  • scanf("%d",&posy);
  • posy--;posx--;
  • result=verifier_position(plateau,posx,posy);
  • }
  • plateau[posx][posy]=joueur;
  • }
  • void affiche_plateau(int plateau[3][3]){
  • int i=0;
  • int j=0;
  • while(j<3){
  • if(i<3){
  • switch(plateau[i][j]){
  • case 0:
  • printf(" ");
  • break;
  • case 1:
  • printf("0");
  • break;
  • case 2:
  • printf("X");
  • break;
  • }
  • i++;
  • }else{
  • i=0;
  • j++;
  • printf("\n");
  • }
  • }
  • }
  • void vider_plateau(int plateau[3][3]){
  • int i,j;
  • for(j=0;j<3;j++)
  • for(i=0;i<3;i++)
  • plateau[i][j]=0;
  • }
  • int verifier_plateau(int plateau[3][3],int joueur){
  • int i,j=0;
  • int nbcase=0;
  • for(i=0;i<3;i++)
  • if(plateau[i][j]==joueur)
  • if((plateau[i][j+1]==plateau[i][j+2])&&(plateau[i][j+1]==joueur))
  • return(1);
  • i=0;j=0;
  • for(j=0;j<3;j++)
  • if(plateau[i][j]==joueur)
  • if((plateau[i+1][j]==plateau[i+2][j])&&(plateau[i+1][j]==joueur))
  • return(1);
  • i=0;j=0;
  • if(plateau[i][j]==joueur)
  • if((plateau[i+1][j+1]==plateau[i+2][j+2])&&(plateau[i+1][j+1]==joueur))
  • return(1);
  • i=2;j=0;
  • if(plateau[i][j]==joueur)
  • if((plateau[i-1][j+1]==plateau[i-2][j+2])&&(plateau[i-2][j+2]==joueur))
  • return(1);
  • i=0;j=0;
  • for(j=0;j<3;j++)
  • for(i=0;i<3;i++)
  • if (plateau[i][j]!=0)
  • nbcase++;
  • if(nbcase==9)
  • return(2);
  • return(0);
  • }
  • int main(void){
  • int joueur,resultat;
  • int plateau[3][3];
  • int fin=0;
  • vider_plateau(plateau);
  • printf("Bienvenue dans Tic Tac Toe...\n\n");
  • joueur=1;
  • while(fin!=1){
  • printf("c'est au joueur %d de jouer...\n",joueur);
  • placer_pion(plateau,joueur);
  • affiche_plateau(plateau);
  • resultat=verifier_plateau(plateau,joueur);
  • if(resultat==1){
  • fin=1;
  • printf("\nLe joueur %d a gagner...\n",joueur);
  • }
  • if (resultat==2){
  • fin=1;
  • printf("\nMatch nul...\n");
  • }
  • joueur=joueur%2+1;
  • }
  • getchar();
  • return(0);
  • }
#include <stdio.h>

int verifier_position(int plateau[3][3],int ligne,int colonne){
  if ((ligne<3)&&(ligne>=0)){
    if ((colonne<3)&&(colonne>=0))
      if (plateau[ligne][colonne]==0)
	return(1);   
	  } 
  return(0);
}

void placer_pion(int plateau[3][3], int joueur){
  int posx,posy;
  int result=2;
  
  while(result!=1){
    if(result==0)
      printf("\nmauvaise position...\n");
    printf("Entrer la colonne :");
    scanf("%d",&posx);
    printf("Entrer la ligne :");
    scanf("%d",&posy);
    posy--;posx--;
    
    result=verifier_position(plateau,posx,posy);
  }
  plateau[posx][posy]=joueur;
}

void affiche_plateau(int plateau[3][3]){
  int i=0;
   int j=0;
  while(j<3){
    if(i<3){
      switch(plateau[i][j]){
      case 0:
	printf(" ");
        break;
      case 1:
        printf("0");
        break;
      case 2:
        printf("X");
        break;
      }
      i++;
    }else{
      i=0;
      j++;
      printf("\n");
    }
  }
}    
 

void vider_plateau(int plateau[3][3]){
  int i,j;
  for(j=0;j<3;j++)
    for(i=0;i<3;i++)
      plateau[i][j]=0;
}

int verifier_plateau(int plateau[3][3],int joueur){
  int i,j=0;
  int nbcase=0;
  for(i=0;i<3;i++)
    if(plateau[i][j]==joueur)
      if((plateau[i][j+1]==plateau[i][j+2])&&(plateau[i][j+1]==joueur))
	return(1);
 i=0;j=0;
  for(j=0;j<3;j++)
    if(plateau[i][j]==joueur)
    if((plateau[i+1][j]==plateau[i+2][j])&&(plateau[i+1][j]==joueur))
	return(1);    

  i=0;j=0;

    if(plateau[i][j]==joueur)
    if((plateau[i+1][j+1]==plateau[i+2][j+2])&&(plateau[i+1][j+1]==joueur))
	return(1);
 
	i=2;j=0;
   
    if(plateau[i][j]==joueur)
    if((plateau[i-1][j+1]==plateau[i-2][j+2])&&(plateau[i-2][j+2]==joueur))
	return(1);

	i=0;j=0;
    
	for(j=0;j<3;j++)
	 for(i=0;i<3;i++)
	  if (plateau[i][j]!=0)
	    nbcase++;
   
	if(nbcase==9)
          return(2);

	return(0);
}

int main(void){
  int joueur,resultat;
  int plateau[3][3];
  int fin=0;

  vider_plateau(plateau);
  
  printf("Bienvenue dans Tic Tac Toe...\n\n");

  joueur=1;

  while(fin!=1){
    printf("c'est au joueur %d de jouer...\n",joueur);
    placer_pion(plateau,joueur);
    affiche_plateau(plateau);
    resultat=verifier_plateau(plateau,joueur);
    
    if(resultat==1){
      fin=1;
      printf("\nLe joueur %d a gagner...\n",joueur);
    }
    if (resultat==2){
      fin=1;
      printf("\nMatch nul...\n");
    }
    joueur=joueur%2+1;
  }
  getchar();
  return(0);
}  
 

Conclusion

compile avec gcc

http://mydev.free.fr
 

Commentaires et avis

signaler à un administrateur
Commentaire de 24Karas le 14/12/2002 16:55:56

Il est sympas ton source mais j'ai l'impression que lors de la saisie tu te plantes pour les lignes et les colonnes
tu demandes la ligne et tu saisies posx or posx situe la colonne
Tu as juste à inverser les mots ligne et colonne pour la saisie et le tour est joué
Voili voilou
                         Bonne continuation
                                                                          24KaraS

signaler à un administrateur
Commentaire de jeremyM le 14/12/2002 20:37:52

oops désolé j'avais pas vu, merci c'est corrigé...

signaler à un administrateur
Commentaire de LordBob le 29/12/2002 11:23:59

g pas encore tester, mais c pas mal, je te dit un grand MERCI...

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

programmer le jeu du morpion en C [ par Adrael ] Bonjour, J'aimerai programmer le jeu du morpion en C, le problème, c'est que je ne sais pas par ou commencer, que faire, s'il faut faire du graphique, jeu morpion(entrez et memorisez un prénom) [ par vives67410 ] bonjour je suis entrain de faire un le morpion je voudrais que le jeu demande le prenom du joueur1 et du joueur2et ensuite pouvoir afficher le prenom Travailler avec images transparentes. [ par KillerHunter ] Bonjour à vous, Voilà, je voudrais faire un peu jeu sous forme de fenêtre. Un jeu similaire au Solitaire, mais avec des images plus complexes que j'ai programmation d'1 jeu [ par rannou_hp ] saluten fait je viens de m'inscrire et j'etudie dans une écoled'info.bref on me demande de programmer un jeu"motus" en turbo c,j'ai trouvé le code sur [C++] Faire des fichiers .pk3 [ par Ilsundal ] Bonjour à tous,Je viens de coder un petit jeu, mais le répertoire qui contient toute les données graphiques et sonnores du jeu est un peu bordellique, jeux temps reel en ligne [ par cid7777777 ] Bonjour, j'ai programmer un fps (first person shooter) en c++ opengl , qui se jou en reso local, et par reseau inernet grace aux sockets (que jai mi Soucis en c++ [ par faluorn ] Bonjour, Voilà, je dois faire pour un de mes cours un petit jeu en c++ avec une interface graphique et je coince un chouillat pour cette interface. On demande d'information au sujet de l'elaboration d'un jeu [ par jef531 ] Bonjours tout le monde,     Voila, j'ai l'intention avec un ami de créer un jeu vidéo avec un nouveau concept. oui je sais, vous allez me dire que j'a


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,374 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.