From 84de5d020d6602a65bedda123ddef1294048f3a2 Mon Sep 17 00:00:00 2001 From: Juliette <juliette.vuillemard1@etu.univ-lorraine.fr> Date: Sat, 5 Dec 2020 17:12:27 +0100 Subject: [PATCH] Tableau des records --- score.c | 80 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ score.h | 36 ++++++++++++++++++++++++++ 2 files changed, 116 insertions(+) create mode 100644 score.c create mode 100644 score.h diff --git a/score.c b/score.c new file mode 100644 index 0000000..ba6bf35 --- /dev/null +++ b/score.c @@ -0,0 +1,80 @@ +/** + * \file score + * \brief score + * \author Vuillemard Juliette + * \date 30.11.2020 + */ + +#include <stdio.h> +#include <stdlib.h> + +//score de la partie en cours +int score; + +//tableau des scores +int tabBestScores[10]={0}; + +//Fonctions sur le tableau des scores : + +//si le joueur veut effacer les meilleurs scores +void initTabBestScores(int tab[10]){ + for(i=0;i=10;i++){ + tab[i]=0; + } +} + +//Fonction pour ajouter un score : +//à appeler à chaque fin de partie +void nouveauScore(score){ + if (score>tabBestScores[9]){ + for (i=8;i=0;i--){ + if (score>tabBestScores[i]){ + tabBestScores[i+1]=tabBestScores[i]; //on décale vers le bas du classement + } + else { + tab[i+1]=score; + i = -1; + } + } + } +} + +//Fonctions pour écrire ou lire les scores : +//appeler EcritScore après nouveauScore à chaque fin de partie +int EcritScore(int lignesFichier[]){ //écrit une nouvelle ligne de le fichier des scores + + FILE *fichier = NULL; + + fichier = fopen("score.txt","w"); + if(!fichier){ + printf("Le fichier score.txt n'existe pas.") + } + else { + for(i=0;i<=9;i++){ + fwrite(fichier,"%d \n", lignesFichier[i]); //récupère les scores + } + fclose(fichier); +} + + +int LitScore(int score){ //lit le fichier des scores + + char lignesFichier[10]="0"; + FILE *fichier = NULL; + fichier = fopen("score.txt",r); + if(!fichier){ + printf("Le fichier score.txt n'existe pas."); + } + else { + for(i=0;i<=9;i++){ + fgets(lignesFichier, 10, fichier); + lignesFichier[i]=fread(fichier, "%d score"); //affiche les scores + +//printf("valeur lu dans fichier %s\n",chaine); +//tab[i] = atoi(chaine); + } + } + fclose; +} + + diff --git a/score.h b/score.h new file mode 100644 index 0000000..d446190 --- /dev/null +++ b/score.h @@ -0,0 +1,36 @@ +/** + * \file score + * \brief header - score + * \author Vuillemard Juliette + * \date 30.11.2020 + */ + +#ifndef SCORE_H +#define SCORE_H + +#include <stdio.lib> +#include <stdlib.h> + +/** +* \brief Réinitialisation du tableau des records +* \param int tab[] tableau des recors +*/ +void initTabBestScores(int tab[10]); + +/** +* \brief Insertion du dernier score dans le tableau des records si assez haut +* \param score score de la dernière partie +*/ +void nouveauScore(score); + +/** +* \brief Ecriture du tableau des records dans un fichier +* \param lignesFichier[] +*/ +void EcritScore(int lignesFichier[]); + +/** +* \brief Lecture du tableau des records dans un fichier +* \param score score de la dernière partie +*/ +void LitScore(int score); -- GitLab