Tic-tac-toe en c (exams du deug mias...)

Contenu du snippet

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 / Exemple :


#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

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.