Exemplo n.º 1
0
int main()
{
    //Initialisation des variables
    int mode, maxi;
    char terrain [20][38];
    char pseudo[100][4];  //Les deux tableaux suivants servent à l'affichage des meilleurs scores
    int score[100];

    coordonees PacMan;
    coordonees fantomeA;
    coordonees fantomeB;
    coordonees fantomeC;
    coordonees fantomeD;

    SetWindow(70,26); //On redimentionne la fenêtre (c'est le seul réglage faisable automatiquement)

    srand(time(NULL)); //On initialise les nombres aléatoires

    do
    {
        menu(&mode);
        switch(mode)
        {
        case 1 :
            initialisation(terrain, &PacMan, &fantomeA, &fantomeB, &fantomeC, &fantomeD); //On génère l'arène
            renduarene(terrain); //On effectue un rendu sur l'arène précédement générée afin d'avoir un résultat plus joli
            affichage(terrain, 0, 0, 0, 3); //On affiche une première fois le terrain
            deplacements(terrain, &PacMan, &fantomeA, &fantomeB, &fantomeC, &fantomeD); //On lance la gestion des déplacements
            break;

        case 2:
            system("CLS");
            maxi = lectureScore(pseudo, score);
            triScore(pseudo, score, maxi);
            break;

        default:
            break;

        }
    }while(mode>0 && mode<3);

    return 0;
}
Exemplo n.º 2
0
int main(int argc, char ** argv)
{
  int largeur = 0;
  int hauteur = 0;
  int nbSerpents = 0;
  int delai = 0;
  int test = 0;
  int k = 0;
  int pourcentage[5] = {0};
  int l = 0;

  /* test si le nombre d'arguments entré est correct ou non */
  if(argc != 4)
    {
      printf("Le nombre d'arguments est incorrect!\n");
      return 0;
    }

 /* déchiffrage des arguments entré */
  sscanf( argv[1], "%dx%d", &largeur, &hauteur);
  sscanf( argv[2], "%d", &nbSerpents);
  sscanf( argv[3], "%d", &delai);

  /* test si la taille entré est correcte */
  if(largeur <= 0 || hauteur <= 0)
    {
      printf("La taille est incorrecte!\n");
      return 0;
    }

  char espace[largeur*hauteur];
  struct Serpent serpents[nbSerpents];
  
  /* création et initialisation du tableau de controle de l'arret du programme lorque tous les serpents sont bloqués */
  int arret[nbSerpents];

  for(k = 0; k < nbSerpents; k++)
    {
      arret[k] = 0;
    }

  initEnvironnement(espace, &largeur, &hauteur);
  initSerpents(serpents, &nbSerpents,&largeur, &hauteur, espace);
  affichage(espace, &largeur, &hauteur);


  while(test == 0)
    {

      system( CLEAR );
      
      deplacements(serpents, &nbSerpents, &largeur, &hauteur, espace, arret);
      affichage(espace, &largeur, &hauteur);
      attente(&delai);
      
      test = 1;
      for(k = 0; k < nbSerpents; k++)
        {
	  test *= arret[k];
        }
    }
  
  for( l = 0; l < hauteur; l++)
    {
      for( k = 0; k < largeur; k++)
	{
	  if(espace[k + l*largeur] == ' ')
	    {
	      pourcentage[0] +=1;
	      
	    }
	  if(espace[k + l*largeur] == '<')
	    {
	      pourcentage[1] +=1;
	      
	    }
	  if(espace[k + l*largeur] == '>')
	    {
	      pourcentage[2] +=1;
	      
	    }
	  if(espace[k + l*largeur] == '^')
	    {
	      pourcentage[3] +=1;
	      
	    }
	  if(espace[k + l*largeur] == 'v')
	    {
	      pourcentage[4] +=1;
	      
	    }
	}
    }

  for( l = 0; l < 5; l++)
    {
	  pourcentage[l] *=100;
	  pourcentage[l] /= (largeur*hauteur);
    }
  printf("Il y a %d%% d'espace vide restant\n", pourcentage[0]);
  printf("Il y a %d%% de direction gauche\n", pourcentage[1]);
  printf("Il y a %d%% de direction droite\n", pourcentage[2]);
  printf("Il y a %d%% de direction haut\n", pourcentage[3]);
  printf("Il y a %d%% de direction bas\n", pourcentage[4]);
  return 0;
}