Beispiel #1
0
void piece_afficher_nom_cours(const piece_siam* piece)
{
  assert(piece!=NULL);

  printf("%s",type_nommer_nom_cours(piece->type));
  if(piece_etre_animal(piece))
    printf("-%s",orientation_nommer_nom_cours(piece->orientation));
}
Beispiel #2
0
orientation_deplacement piece_recuperer_orientation_animal(const piece_siam* piece)
{
  assert(piece!=NULL);
  assert(piece_etre_integre(piece));
  assert(piece_etre_animal(piece));

  return piece->orientation;
}
int plateau_modification_changer_orientation_piece_etre_possible(const plateau_siam* plateau,int x0,int y0,orientation_deplacement orientation)
{
    
    assert(plateau_etre_integre(plateau));
    assert(coordonnees_etre_dans_plateau(x0, y0));
    assert(orientation_etre_integre_deplacement(orientation));
    
    const piece_siam* piece=plateau_obtenir_piece_info(plateau, x0, y0);
    
    assert(piece_etre_integre(piece));
    

    if(piece_etre_animal(piece)==1 && piece->orientation!=orientation)
        return 1;
    if (piece_etre_animal(piece)==1 && piece->orientation==orientation)
        return 0;
    return 0;
    
}
Beispiel #4
0
void test_piece_etre_animal()
{ 
  piece_siam* piece  = malloc(sizeof(piece_siam)) ;
  piece->type        =elephant;
  piece->orientation =0;
  int i;
  for(i=1;i<=4;i++)
    {
      if(piece_etre_integre(piece)==1)
	{
	  if(piece->type <3)
	    {
	      if(piece_etre_animal(piece)==1)
		{printf("Test ok");}
	      else{printf("Test ko");}
	    }
	}
      piece++;
    }
}
Beispiel #5
0
int jeu_verifier_type_piece_a_modifier(const jeu_siam* jeu,int x,int y)
{
  assert(jeu!=NULL);
  assert(coordonnees_etre_dans_plateau(x,y));
  //on recupere la piece
  const piece_siam* piece= plateau_obtenir_piece_info(&jeu->plateau,x,y);
  assert(piece!=NULL);
  // on verifie si la piece est un animal
  if(piece_etre_animal(piece)==0)
    return 0;
  // on regarde si la piece est un elephant mais que le joueur est 1
  if(piece->type==elephant){
    if(jeu->joueur==1)
      return 0;
  }
  //on regarde si la piece est un rhinoceros mais que le joueur est 0
  else{
    if(jeu->joueur==0)
      return 0;
  }
  //si ce n'etait pas les cas precedents alors on est ok
  return 1;
}