Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "Fonctions.h"
- int main()
- {
- int lig,col;
- col=0;
- lig=0;
- int i=0;
- int j=0;
- int b;
- int tempScore =0 ;
- int score=0, score1, score2, score3, score4, score5;
- char pseudo1[100], pseudo2[100], pseudo3[100], pseudo4[100], pseudo5[100];
- char box;
- char tableau[15][15];
- system("mode con lines=100 cols=60");
- int alea;
- int choix;
- char choix_deplacement='2';
- FILE *fp= NULL;
- char pseudo[100];
- char t[100];
- do
- {
- system("cls");
- printf(" *******Brick letter********\n\n\n\n");
- printf(" 1.Jouer\n 2.Instructions\n 3.Meilleurs scores\n 4.Quitter \n");
- scanf("%d", &choix);
- switch( choix )
- {
- case 1 :
- system("cls");
- srand(time(NULL));
- // Initialisation du tableau
- for (i = 0 ; i < 15 ; i++) // i lignes
- {
- for (j = 0 ; j < 15 ; j ++) // j colonnes
- {
- alea=rand()%5; // il y a 5 letrres possible associees a 5 chiffres pour le random.
- if (alea==0)
- {
- tableau[i][j]='R';
- }
- if (alea==1)
- {
- tableau[i][j]='J';
- }
- if (alea==2)
- {
- tableau[i][j]='V';
- }
- if (alea==3)
- {
- tableau[i][j]='B';
- }
- if (alea==4)
- {
- tableau[i][j]='N';
- }
- printf("%c ", tableau[i][j]);
- }
- printf("\n\n");
- }
- // Avec l'affichage notre tableau[15][15] en memoire est de dimention [27][39] à l'écran
- couleur(tableau);
- gotoligcol(lig ,col);
- //affichage du curseur
- choix_deplacement='2';
- while(choix_deplacement!='q')
- {
- choix_deplacement=getch(); // getch s'utilise comme un scanf sauf que ça affiche pas ce qu'on écrit
- box=tableau[lig/2][col/3]; // Recuperation de la lettre
- switch (choix_deplacement)
- {
- case '4': // Déplacement vers la gauche
- {
- if (col>0)
- {
- passMaj(tableau, box);
- gotoligcol(lig,col-3);
- col=col-3;
- }
- }
- couleur(tableau);
- gotoligcol(lig, col);
- break;
- case '6': // Déplacement vers la droite
- {
- if ( col<=39 )
- {
- passMaj(tableau, box);
- gotoligcol(lig,col+3);
- col=col+3; //blingage avec le if
- }
- }
- couleur(tableau);
- gotoligcol(lig, col);
- break;
- case '8': // Déplacement vers le haut
- {
- if (lig>0)
- {
- passMaj(tableau, box);
- gotoligcol(lig-2, col);
- lig=lig-2;
- }
- }
- couleur(tableau);
- gotoligcol(lig, col);
- break;
- case '2': // Déplacement vers le bas
- {
- if (lig<=27)
- {
- passMaj(tableau, box);
- gotoligcol(lig+2,col);
- lig=lig+2; // Blindage avec le if
- }
- }
- couleur(tableau);
- gotoligcol(lig, col);
- break;
- case ' ':
- {
- // Selection des blocs de lettres et passage en minuscule
- // Si on a une majuscule alors lancer transformation en min
- if( box >= 'A' && box <= 'Z')
- {
- comparaison(lig/2, col/3, tableau,box); // Passage des blocs en minuscule
- tempScore=nbrBlocs(tableau, tolower(box)); // Fonction qui donne le nombre de bloc en repérant les min du tableau
- printf("\n\n\n\n\n Groupes : %d", tempScore*(tempScore-1));
- }
- // Si c'est une majuscule
- else
- {
- tempScore=nbrBlocs(tableau, tolower(box)); //fonction qui donne le nombre de bloc
- if( tempScore >=2 ) //si il y a plus de 2 BLOCS
- {
- // Suppression
- destroy(tableau, tolower(box));
- // Descendre les lettres
- grav(tableau);
- // Si il y un espace sur la derniere ligne du bas, alors lancer decal, pour cela parcourir la derniere ligne du tableau
- decal(tableau);
- //ajouter à mon score final
- score=score+tempScore*(tempScore-1);
- // afficher
- printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Score : %d", score);
- // Le joueur voit q'il n'y a plus de possibilité
- // Option sortie avec entré de pseudo
- printf("\n\nAppuyer sur q pour revenir au menu\n\nAppuyer sur P pour entrer sauvegarder votre score");
- }
- else passMaj(tableau, box); // Si il n'y a q'une minuscule repassage en majuscule.
- }
- }
- couleur(tableau);
- gotoligcol(lig, col);
- break;
- case 'P':
- {
- // Ouverture du score dans fichier
- system("cls");
- fp = fopen ("scores.txt","a");
- if (fp != NULL)
- {
- printf("Entrez votre Pseudo : ");
- fflush(stdin);
- scanf("%s", pseudo);
- //ecriture dans le ficher
- fprintf(fp, "%s %d\n" , pseudo,score);
- fclose(fp);
- printf("\n\nAppuyer sur q pour revenir au menu");
- }
- else printf("error");
- }
- break;
- }
- }
- break;
- case 2 : // INSTRUCTIONS
- {
- system("cls");
- printf("\nInstructions : \n\nLe but du jeu est de faire disparaitre tous les groupes de lettres de la grille (si possible), avec le plus de points possible.\n\nPour vous deplacer utiliser :\n\n4 gauche \n8 haut \n6 droite \n2 bas \n\n\n\n");
- }
- system("pause");
- break;
- case 3 : // Scores
- {
- system("cls"); //initialisation du pointeur des scores à NULL
- FILE* fp = NULL;
- fp = fopen("scores.txt", "r+");//ouverture du fichier des scores
- if (fp != NULL)
- {
- //On lit les meilleurs scores dans le fichier scores.txt
- fscanf(fp, "%d %d %d %d %d",&score1, &score2, &score3, &score4, &score5);
- //On lit les pseudos associés aux meilleurs scores
- fscanf(fp, "%s %s %s %s %s",&pseudo1, &pseudo2, &pseudo3, &pseudo4, &pseudo5);
- //On affiche les meilleurs scores
- printf (fp, "%s : %d\n", pseudo1, score1);
- printf (fp, "%s : %d\n", pseudo2, score2);
- printf (fp, "%s : %d\n", pseudo3, score3);
- printf (fp, "%s : %d\n", pseudo4, score4);
- printf (fp, "%s : %d\n", pseudo5, score5);
- //on ferme les fichiers
- fclose(fp);
- //Si le score est le premier meilleur score
- if(score>= score1)
- {
- //On réouvre les fichiers des pseudos et des scores en écriture seule pour ne pas supprimer le fichier et seulement le vider
- fp = fopen("scores.txt", "w+");
- score5 = score4;
- score4 = score3;
- score3 = score2;
- score2 = score1;
- score1 = score;
- //La fonction strcpy sert à copier une chaîne de caractères dans une autre
- strcpy(pseudo5, pseudo4);
- strcpy(pseudo4, pseudo3);
- strcpy(pseudo3, pseudo2);
- strcpy(pseudo2, pseudo1);
- //On demande le pseudo que le joueur veut prendre
- printf("Felicitations vous avez fait un nouveau record! Veuillez entrer votre pseudo.\n\n");
- scanf("%s", pseudo1);
- //On réécrit les nouveaux pseudos et scores dans les fichiers
- fprintf(fp, "%d\n%d\n%d\n%d\n%d\n", score1, score2, score3, score4, score5);
- fprintf(fp, "%s\n%s\n%s\n%s\n%s\n", pseudo1, pseudo2, pseudo3, pseudo4, pseudo5);
- fclose(fp);
- }
- //Si le score est le deuxième meilleur score
- else if(score>=score2)
- {
- fp = fopen("scores.txt", "w+");
- score5 = score4;
- score4 = score3;
- score3 = score2;
- score2 = score;
- strcpy(pseudo5, pseudo4);
- strcpy(pseudo4, pseudo3);
- strcpy(pseudo3, pseudo2);
- printf("Felicitations vous avez fait un nouveau record ! Veuillez entrer votre pseudo.\n\n");
- scanf("%s", pseudo2);
- fprintf(fp, "%d\n%d\n%d\n%d\n%d\n", score1, score2, score3, score4, score5);
- fprintf(fp, "%s\n%s\n%s\n%s\n%s\n", pseudo1, pseudo2, pseudo3, pseudo4, pseudo5);
- fclose(fp);
- }
- //Si le score est le troisième meilleur score
- else if (score>=score3)
- {
- fp = fopen("scores.txt", "w+");
- score5 = score4;
- score4 = score3;
- score3 = score;
- strcpy(pseudo5, pseudo4);
- strcpy(pseudo4, pseudo3);
- printf("Felicitations, vous avez fait un nouveau record , Veuillez entrer votre pseudo.\n\n");
- scanf("%s", pseudo3);
- fprintf(fp, "%d\n%d\n%d\n%d\n%d\n", score1, score2, score3, score4, score5);
- fprintf(fp, "%s\n%s\n%s\n%s\n%s\n", pseudo1, pseudo2, pseudo3, pseudo4, pseudo5);
- fclose(fp);
- }
- //Si le score est le quatrième meilleur score
- else if (score>=score4)
- {
- fp = fopen("scores.txt", "w+");
- score5 = score4;
- score4 = score;
- strcpy(pseudo5, pseudo4);
- printf("Felicitations vous avez fait un nouveau record! Veuillez entrer votre pseudo.\n\n");
- scanf("%s", pseudo4);
- fprintf(fp, "%d\n%d\n%d\n%d\n%d\n", score1, score2, score3, score4, score5);
- fprintf(fp, "%s\n%s\n%s\n%s\n%s\n", pseudo1, pseudo2, pseudo3, pseudo4, pseudo5);
- fclose(fp);
- }
- //Si le score est le cinquième meilleur score
- else if (score >=score5)
- {
- fp = fopen("scores.txt", "w+");
- score5=score;
- printf("Felicitations, vous avez fait un noveau record ! Veuillez entrer votre pseudo.\n\n");
- scanf("%s", pseudo5);
- fprintf(fp, "%d\n%d\n%d\n%d\n%d\n", score1, score2, score3, score4, score5);
- fprintf(fp, "%s\n%s\n%s\n%s\n%s\n", pseudo1, pseudo2, pseudo3, pseudo4, pseudo5);
- fclose(fp);
- }
- else if (score<score5)
- printf("Vous n'etes pas dans les meilleures scores");
- }
- }
- system("pause");
- break;
- case 4 :
- {} // Sortie
- break;
- default :
- {
- printf("la touche selectonné n'est pas attribuée, Veuiller saisir autre chose");
- }
- }
- }
- while(choix!=4);
- return 0;
- }
Add Comment
Please, Sign In to add comment