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