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; }
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; }