void sauvegarde(void) { int choixJoueur; char baseNomSauvegarde[NB_SAUVEGARDE][TAILLE_MAX]; titre("Sauvegarde", VERT); afficherMenuSauvegarde(baseNomSauvegarde); choixJoueur = choisirMenu(NB_SAUVEGARDE); if(choixJoueur == REVENIR_ARRIERE) menuPrincipal(); else if(choixJoueur == QUITTER) quitter(); else actionSauvegarde(baseNomSauvegarde, choixJoueur - 1); }
void actionSauvegarde(char baseNomSauvegarde[NB_SAUVEGARDE][TAILLE_MAX], const unsigned int indexSauvegarde) { if(strcmp(baseNomSauvegarde[indexSauvegarde], "Vide") == 0) nouvelleSauvegarde(indexSauvegarde); else { int choixJoueur; unsigned int compteurErreur; compteurErreur = 0; separationTexte(); do { if(compteurErreur > 0) printf("Veuillez entrer un nombre correct !\n"); printf("Que souhaitez-vous faire ?\n\n"); printf("\t1 - Charger\n"); printf("\t2 - Supprimer\n\n"); choixJoueur = choisirMenu(NB_ACTION_SAUVEGARDE); ++compteurErreur; } while (choixJoueur != QUITTER && choixJoueur != REVENIR_ARRIERE && choixJoueur != CHARGER && choixJoueur != SUPPRIMER); if(choixJoueur == QUITTER) quitter(); else if(choixJoueur == REVENIR_ARRIERE) sauvegarde(); else if(choixJoueur == CHARGER) chargerSauvegarde(baseNomSauvegarde[indexSauvegarde]); else supprimerSauvegarde(baseNomSauvegarde[indexSauvegarde]); } }
/* Demande et renvoie l'index du tresor que le joueur souhaite vendre */ int demanderObjetAvendre(void) { compteur indexTresor; int choixJoueur; /* On demande ce que le joueur veut vendre et on affiche tous ses tresors */ printf("Que souhaitez-vous vendre ?\n\n"); for(indexTresor = 0; indexTresor < NB_TRESOR_MAX; ++indexTresor) { if(strcmp(inventaire.tresor[indexTresor].nom, "Rien") != 0) { printf("\t%d - ", indexTresor + 1); afficherTresorIndividuelInventaire(indexTresor); putchar('\n'); } } putchar('\n'); /* On lit le choix du joueur */ choixJoueur = choisirMenu(inventaire.tresorActuel + 1); /* Si il veut revenir en arriere ou quitter, on le redirige vers la boutique et on retourne -1 */ if(choixJoueur == REVENIR_ARRIERE || choixJoueur == QUITTER) { boutique(); return -1; } /* Sinon on retourne l'index du tresor qu'il veut vendre (choixJoueur - 1) */ else return choixJoueur - 1; }