C : fichier de sauvegarde
Sara426
Messages postés
782
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Je programme en C et le but du projet est de faire un mastermind (le jeu avec des couleurs et il faut deviner la combinaison)
Le programme est terminé mais il faut faire un système de sauvegarde de la partie.
Par exemple quand on va lancer le jeu, s'il y a déjà une partie sauvegardée, le programme doit demandé si l'utilisateur veut continuer sa partie ou en commencer une nouvelle.
J'ai regarder un livre et il parle de fopen.
Mais je n'ai pas trouvé (et compris) la syntaxe.
Merci d'avance pour votre aide.
Cordialement,
Sara.
Je programme en C et le but du projet est de faire un mastermind (le jeu avec des couleurs et il faut deviner la combinaison)
Le programme est terminé mais il faut faire un système de sauvegarde de la partie.
Par exemple quand on va lancer le jeu, s'il y a déjà une partie sauvegardée, le programme doit demandé si l'utilisateur veut continuer sa partie ou en commencer une nouvelle.
J'ai regarder un livre et il parle de fopen.
Mais je n'ai pas trouvé (et compris) la syntaxe.
Merci d'avance pour votre aide.
Cordialement,
Sara.
4 réponses
En faite fopen ouvre un fichier, après tu peux écrire dedans, et le système que tu parle, au lancement de ton jeu, ton programme va rechercher le fichier, si celui-ci existe pas il le créer et si il existe il lit les lignes et tu fais une petite fonction qui scanne les lignes pour restaurer l'état des cases.
https://www.programmez.com/tutoriels.php?tutoriel=56&titre=Les-fichiers
Par contre ton jeux à l'air intéressant, donc si tu comptais le mettre open source ce serais sympa de faire partager le code.
https://www.programmez.com/tutoriels.php?tutoriel=56&titre=Les-fichiers
Par contre ton jeux à l'air intéressant, donc si tu comptais le mettre open source ce serais sympa de faire partager le code.
C'est bon. On a résolut ce problème.
Mais maintenant c'est quand on recharge la partie.
Dans le fichier de sauvegarde on a :
le nombre de coups, la combinaison proposée, le nombre de pions biens et mal placés.
Pour les récupérer on utilise un fscanf et un printf pour l'afficher ensuite.
Malheureusement, ça boucle à l'infini.
Mais maintenant c'est quand on recharge la partie.
Dans le fichier de sauvegarde on a :
le nombre de coups, la combinaison proposée, le nombre de pions biens et mal placés.
Pour les récupérer on utilise un fscanf et un printf pour l'afficher ensuite.
Malheureusement, ça boucle à l'infini.
void reprise (char combi[], char prop[], int p, int c, int nb_coups, int bp, int mp)
{
FILE *sauve = NULL; //On initialise le pointeur
sauve = fopen("sauvegarde.txt","a+"); // permet de lire le fichier et de réécrire à l'intérieur
/* a+ lit le fichier puis se place à la fin pour écrire à la suite */
fscanf(sauve, "%d %d\n", &p, &c);
printf("vous avez %d pions et %d couleurs \n", p, c);
fscanf(sauve, "%c%c%c%c", &combi[0], &combi[1], &combi[2], &combi[3]);
printf("combinaison : "); affiche_tab(combi, p); printf("\n");
while (sauve!=NULL)
{
fscanf(sauve, "%d\n%c%c%c%c\n%d\n%d\n", &nb_coups, &prop[0], &prop[1], &prop[2], &prop[3], &bp, &mp);
printf(" nb_coups = %d prop %c %c %c %c bp = %d mp= %d \n", nb_coups, prop[0], prop[1], prop[2], prop[3], bp, mp);
}
}
{
FILE *sauve = NULL; //On initialise le pointeur
sauve = fopen("sauvegarde.txt","a+"); // permet de lire le fichier et de réécrire à l'intérieur
/* a+ lit le fichier puis se place à la fin pour écrire à la suite */
fscanf(sauve, "%d %d\n", &p, &c);
printf("vous avez %d pions et %d couleurs \n", p, c);
fscanf(sauve, "%c%c%c%c", &combi[0], &combi[1], &combi[2], &combi[3]);
printf("combinaison : "); affiche_tab(combi, p); printf("\n");
while (sauve!=NULL)
{
fscanf(sauve, "%d\n%c%c%c%c\n%d\n%d\n", &nb_coups, &prop[0], &prop[1], &prop[2], &prop[3], &bp, &mp);
printf(" nb_coups = %d prop %c %c %c %c bp = %d mp= %d \n", nb_coups, prop[0], prop[1], prop[2], prop[3], bp, mp);
}
}
Par contre comment est-ce qu'on fait pour récupérer les données d'un autre programme ?
On a le jeu qui lance le mastermind et à l'intérieur il y a un tableau qui retient la solution gagnante. Comment on fait pour récupérer ce tableau (ou le pointeur) pour l'afficher dans le fichier texte ?