void XMLSaveVisitor::saveForm(std::string path, std::string projectName, QImage & picture){ std::fstream file(path.c_str(),std::fstream::out); file << "<project name=\""<< projectName << "\" ver=\"1.0\">" << std::endl; file << "<monofin>" << std::endl; file << _surface; file << "<layers>" << std::endl; file << "</layers>" << std::endl; file << "</monofin>" << std::endl; file << "<config>" << std::endl; file << "<layerConfig>" << std::endl; file << "</layerConfig>" << std::endl; file << "</config>" << std::endl; QBuffer test; test.open(QIODevice::WriteOnly); picture.save(&test,"XBM"); QString sauvegarde(test.data()); file << "<picture data=\"" << sauvegarde.toStdString() << "\"/>" << std::endl; file << "</project>" << std::endl; file.close(); }
void sauvegarde_test() { char reponse[2] ; if(a_sauvegarder == 1) { printf("La base a été modifiée.\nVoulez-vous en faire une sauvegarde ? (O/N)") ; scanf("%s", reponse) ; toupper(reponse[0]) ; if(reponse[0] = 'O') { sauvegarde(); } } }
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]); } }
void new_game(long emplacement) //Fonction de creation du perso, avec la variable d'emplacement de sauvegarde { // Declaration des variables char name[30]; char race[30]; long int sexe = 1 ; long int chrace = 1; long int force =1; long int intel =1; long int endu =1; long int vital =1; long int chclasse =1; long int repeat =0; long int validation = 0; printf("\nBienvenue, jeune apprenti !\n\n"); while (repeat == 0) { // Création du Personnage printf("\nQuel est votre nom?\n"); scanf("%s", name); printf("\nQuel est votre sexe? \n1) Homme \n2) Femme \n"); scanf("%ld", &sexe); //Valeur numerique // Sexe par défaut if ((sexe > 2) || (sexe < 1)) sexe = 2; if (sexe == 1) { printf("\nVous vous appelez donc %s et vous êtes un homme.\n\n", name); } else { printf("\nVous vous appelez donc %s et vous êtes une femme.\n\n",name); } // Choix de la race printf(" \nQuel est votre race? \n\n1) Humain (Force +1, Intelligence +1, Endurance +1, Vitalité +1)\n2) Elfe (Force -1, Intelligence +6, Endurance -1, Vitalité +0)\n3) Nain (Force +2, Intelligence -2, Endurance +4, Vitalité +2) \n4) Orque (Force +3, Intelligence -3, Endurance +2, Vitalité +2)\n"); scanf("%ld",&chrace); // Application du choix de la race if (chrace == 1) { if(sexe == 1) { sprintf(race, "Humain"); } else { sprintf(race, "Humaine"); } force = 11; intel = 11; endu = 11; vital = 11; } else if (chrace == 2) { if(sexe == 1) { sprintf(race, "Elfe"); } else { sprintf(race, "Elfette"); } force = 9; intel = 16; endu = 9; vital = 10; } else if (chrace == 3) { if(sexe == 1) { sprintf(race, "Nain"); } else { sprintf(race, "Naine"); } force = 12; intel = 8; endu = 14; vital = 12; } else if (chrace == 4) { if(sexe == 1) { sprintf(race, "Orque"); } else { sprintf(race, "Orquette"); } force = 13; intel = 7; endu = 12; vital = 12; } else { chrace =1; if(sexe == 1) { sprintf(race, "Humain"); } else { sprintf(race, "Humaine"); } force = 11; intel = 11; endu = 11; vital = 11; } if (sexe == 1) { printf("\nVous êtes donc un %s \n", race); } else { printf("\nVous êtes donc une %s \n", race); } printf("Vos caractéristiques de bases sont les suivantes:\n"); printf("Force : %ld \nIntelligence: %ld \nEndurance: %ld \nVitalité: %ld \n", force, intel, endu, vital); // Choix de la classe printf("\n\nVous devez maintenant choisir votre classe.\n"); printf("1) Guerrier (+2 force +2 endurance) \n2) Sorcier (+4 intelligence) \n"); scanf("%ld", &chclasse); if (chclasse == 1) { if (sexe == 1) { printf("\nVous êtes donc un Guerrier ! \n\n"); } else { printf("\nVous êtes donc une Guerrière ! \n\n"); } force = force +2; endu = endu+2; } else { if (sexe == 1) { printf("\nVous êtes donc un Sorcier ! \n\n"); } else { printf("\nVous êtes donc une Sorcière ! \n\n"); } intel = intel+4; } // Recapitulation if (sexe == 1) { printf("Vous vous appelez %s et vous êtes un homme.\n", name); } else { printf("Vous vous appelez %s et vous êtes une femme.\n",name); } if (sexe == 1) { printf("Vous êtes un %s! \n", race); } else { printf("Vous êtes une %s! \n", race); } if (chclasse == 1) { if (sexe == 1) { printf("Vous êtes un Guerrier ! \n"); } else { printf("Vous êtes une Guerrière ! \n"); } } else { if (sexe == 1) { printf("Vous êtes un Sorcier ! \n"); } else { printf("Vous êtes une Sorcière ! \n"); } } printf("Vos caractéristiques finales sont les suivantes:\n"); printf("Force : %ld \nIntelligence: %ld \nEndurance: %ld \nVitalité: %ld \n", force, intel, endu, vital); printf("Etes-vous satisfait de vos choix (1) ou préferez vous tout recommencer (2) ?\n" ); scanf("%ld",&validation); if (validation == 1) { repeat = 1; } } sauvegarde(name, sexe ,chrace, chclasse, force, intel, endu, vital, 1, emplacement); }
int main(){ srand(time(NULL)); int encore=0; int choixmodif=2; int choixaffich=0; int affichH=0; int action=0; int nbCell=0; int iteration=0, iMax=0; int ageMature=0, ageMax=0; float beta=0, delta=0; CELLULE* P[taille][taille]; initMat(P); bordure(P); H* matH=Allouematrice(); printf("Ce programme permet de modéliser l'évolution d'une culture cellulaire.\nIl prend en compte l'âge de maturité des cellules, c'est à dire l'âge à partir duquel les cellules peuvent se diviser.\nLe programme gère également l'espérance de vie des cellules et le nombre initial de cellules en culture.\nLe nombre d'itérations est à relier au temps nécessaire à une cellule pour se diviser.\nLors d'une itération, la cellule peut également se transformer en cellule cancéreuse, mourir.\n\n"); do{ printf("Souhaitez vous utiliser les paramètres par défaut:\nAge de maturité=3\nAge maximum=1001\nNombre de cellules initiales=100\nNombre maximal d'itérations=1000\nbeta=0.5\ndelta=0.8\n\n[1]Oui [2]Non\n"); do{ scanf("%d", &choixmodif); if(choixmodif==1){ ageMature=3; ageMax= 1001; nbCell= 100; iMax= 1000; beta= 0.5; delta= 0.8; }else if(choixmodif==2){ printf("Age de maturité (par défaut 3): "); scanf("%d", &ageMature); printf("Age maximum (par défaut 1001): "); scanf("%d", &ageMax); printf("Nombre de cellules initiales (par défaut 100): "); scanf("%d", &nbCell); printf("Nombre maximal d'itérations (par défaut 1000): "); scanf("%d", &iMax); printf("beta (par défaut 0.5): "); scanf("%f", &beta); printf("delta (par défaut 0.8): "); scanf("%f", &delta); }else printf("Erreur de saisie...\nLes choix sont:\n[1]paramètres par défault\n[2]Modifier les paramètres\n"); }while(choixmodif!=1 && choixmodif!=2); do{ initPosition(nbCell, P, matH, iteration); chgmtType(beta, ageMax, P, matH, iteration); comptVoisines(P); printf("\nVoici la disposition des cellules à l'état initial (avant la première itération)\n"); afficheMat(P, iteration); printf("\n"); do{ printf("Souhaitez-vous afficher l'état de la matrice à chaque itération? [1]Oui [2]Non\n"); scanf("%d", &choixaffich); if(choixaffich!=1 && choixaffich!=2) printf("Erreur de saisie...\n"); }while(choixaffich!=1 && choixaffich!=2); while(iteration<iMax) { iteration++; incrementeAge(ageMax, P, matH, iteration); tuer_f_nbVoisines(P, matH, iteration); tuer_f_Cancer(delta, P, matH, iteration); chgmtType(beta, ageMax, P, matH, iteration); divisions(ageMature, P, matH, iteration); comptVoisines(P); if(choixaffich==1){ afficheMat(P, iteration); printf("\n"); } } sauvegarde(matH); printf("Un fichier contenant l'historique de la matrice vient d'être créé.\nIl se trouve dans le répertertoire du programme principal.\n"); printf("\nVoici l'état de la culture cellulaire à la fin de toutes les itérations.\n"); afficheMat(P, iteration); printf("\n"); do{ printf("Souhaitez-vous afficher l'histoire d'une cellule? [1]Oui [2]Non\n"); scanf("%d", &affichH); if(affichH!=1 && affichH!=2) printf("Erreur de saisie...\n"); }while(affichH!=1 && affichH!=2); if(affichH==1) affichelistHCase(matH); do{ printf("Souhaitez-vous relancer la modélisation en concervant ces paramètres? [1]Oui [2]Non\n"); scanf("%d", &encore); if(encore!=1 && encore!=2) printf("Erreur de saisie...\n"); }while(encore!=1 && encore!=2); }while(encore==1); do{ printf("Souhaitez-vous [1]relancer une modélisation [2]quitter le programme ?\n"); scanf("%d", &action); if(action!=1 && action!=2) printf("Erreur de saisie...\n"); }while(action!=1 && action!=2); }while(action==1); printf("Au revoir.\n"); return 0; }
main() { int choix = -1, numero ; char nomrecherche[MAX_NOM] ; struct etudiant eleve ; while(choix != 0) { printf("\n") ; printf("-1- Saisie\n") ; printf("-2- Affichage\n") ; printf("-3- Sauvegarder\n") ; printf("-4- Chargement\n") ; printf("-5- Vider\n") ; printf("-6- Rechercher\n") ; printf("-6- Modifier\n") ; printf("-7- Éliminer un élève\n") ; printf("-0- Quitter\n\n") ; printf("Choix : ") ; scanf("%d", &choix) ; switch(choix) { case 0 : sauvegarde_test() ; printf("Au revoir.\n") ; break ; case 1 : saisie() ; break ; case 2 : affichage() ; break ; case 3 : sauvegarde() ; break ; case 4 : chargement() ; break ; case 5 : chargement() ; break ; case 6 : if(nbeleves == 0) { printf("Aucun élève dans la base."); } else { printf("Saisissez le nom à recherche : ") ; scanf("%s", nomrecherche) ; numero = recherche(nomrecherche) ; if(numero == NON_TROUVE) { printf("%s n'a pas été trouvé.", nomrecherche) ; } else { eleve = tabeleve[numero] ; printf("%s %s %d\n", eleve.nom, eleve.prenom, eleve.age) ; } } break ; case 7 : modification() ; break ; case 8 : eliminer1() ; break ; default: printf("Erreur de saisie.") ; break ; } } }
void charger_menu (SDL_Surface *ecran,paramStruct p,int *choix,mapStruct *mp) { TTF_Init(); if (TTF_Init()==-1) { printf("erreur lors du chargement de la SDL_TTf"); } TTF_Font *police_continuer=NULL,*police_jouer=NULL,*police_instructions=NULL,*police_quitter=NULL; police_jouer=TTF_OpenFont("data/police/brush.ttf",60); police_continuer=TTF_OpenFont("data/police/brush.ttf",60); police_instructions=TTF_OpenFont("data/police/brush.ttf",60); police_quitter=TTF_OpenFont("data/police/brush.ttf",60); //police et taille des phrases SDL_Color couleurBlanche={255,255,255}; SDL_Surface *Jouer,*Continuer,*Instructions,*Quitter,*Titre,*image_bas; SDL_Rect position_jouer; SDL_Rect position_continuer; SDL_Rect position_instructions; SDL_Rect position_quitter; SDL_Rect position_titre; SDL_Rect position_image; SDL_Rect position_perso; placer_texte(&position_jouer,p.widthWindow/3,p.heightWindow/3); placer_texte(&position_continuer,p.widthWindow/3,p.heightWindow/3+70); placer_texte(&position_instructions,p.widthWindow/3,p.heightWindow/3+140); placer_texte(&position_quitter,p.widthWindow/3,p.heightWindow/3+210); placer_texte(&position_titre,p.widthWindow/2-664/2,0); placer_texte(&position_image,0,p.heightWindow-59); position_perso.x=0; position_perso.y=p.heightWindow-100; Jouer=TTF_RenderText_Blended(police_jouer,"> jouer",couleurBlanche); Continuer=TTF_RenderText_Blended(police_continuer,"> continuer",couleurBlanche); Instructions=TTF_RenderText_Blended(police_instructions,"> instructions",couleurBlanche); Quitter=TTF_RenderText_Blended(police_quitter,"> quitter",couleurBlanche); Titre=IMG_Load("data/menu/crazy_maze.bmp"); image_bas=IMG_Load("data/menu/brique.bmp"); image_bas=SDL_ResizeXY (image_bas,p.widthWindow,70,1); SDL_Surface *perso_marcheg=NULL,*perso_marched=NULL; perso_marcheg=IMG_Load("data/character/perso_marchedd.png"); perso_marched=IMG_Load("data/character/perso_marchedg.png"); int envie_de_jouer=0; int continuer=1; int marcher=0; SDL_Event event; int instruct=1; while (continuer) { SDL_WaitEvent(&event); switch(event.type) { case SDL_QUIT: continuer=0; *choix=-1; break; case SDL_MOUSEBUTTONUP: if (event.button.button == SDL_BUTTON_LEFT) { if(event.button.x>=position_jouer.x && event.button.x<=position_jouer.x+250 && event.button.y>=position_jouer.y+20 && event.button.y<=position_jouer.y+70) { *choix=0; continuer=0; // si on appuie sur jouer envie_de_jouer=1; page_chargement(ecran,p,1); } else if (event.button.x>=position_instructions.x && event.button.x<=position_instructions.x+250 && event.button.y>=position_instructions.y+20 && event.button.y<=position_instructions.y+70) { int v=0; while (instruct) { donner_instruction(ecran,&instruct,p,&continuer); } instruct=1; } else if (event.button.x>=position_continuer.x && event.button.x<=position_continuer.x+250 && event.button.y>=position_continuer.y+20 && event.button.y<=position_continuer.y+70) { if (sauvegarde(mp,&p)!=-1) { *choix=sauvegarde(mp,&p); } continuer=0; } else if(event.button.x>=position_quitter.x && event.button.x<=position_quitter.x+250 && event.button.y>=position_quitter.y+20 && event.button.y<=position_quitter.y+70) { *choix=-1; continuer=0; } } break; case SDL_MOUSEMOTION: if(event.button.x>=position_jouer.x && event.button.x<=position_jouer.x+250 && event.button.y>=position_jouer.y+20 && event.button.y<=position_jouer.y+70) { changer_police(&Jouer,"> jouer"); } else if (event.button.x>=position_continuer.x && event.button.x<=position_continuer.x+250 && event.button.y>=position_continuer.y+20 && event.button.y<=position_continuer.y+70) { changer_police(&Continuer,"> continuer"); } else if (event.button.x>=position_instructions.x && event.button.x<=position_instructions.x+250 && event.button.y>=position_instructions.y+20 && event.button.y<=position_instructions.y+70) { changer_police(&Instructions,"> instructions"); } else if (event.button.x>=position_quitter.x && event.button.x<=position_quitter.x+250 && event.button.y>=position_quitter.y+20 && event.button.y<=position_quitter.y+70) { changer_police(&Quitter,"> quitter"); } else { mettre_texte_normal(&Jouer,"> jouer"); mettre_texte_normal(&Continuer,"> continuer"); mettre_texte_normal(&Instructions,"> instructions"); mettre_texte_normal(&Quitter,"> quitter"); } break; } if (envie_de_jouer==0) { SDL_FillRect(ecran,NULL,SDL_MapRGB(ecran->format,120,0,0)); position_titre.x=p.widthWindow/2-664/2; position_titre.y=0; SDL_SetColorKey(Titre,SDL_SRCCOLORKEY,SDL_MapRGB(ecran->format,0,0,0)); SDL_BlitSurface(Titre,NULL,ecran,&position_titre); SDL_BlitSurface(image_bas,NULL,ecran,&position_image); SDL_BlitSurface(Jouer,NULL,ecran,&position_jouer); SDL_BlitSurface(Continuer,NULL,ecran,&position_continuer); SDL_BlitSurface(Instructions,NULL,ecran,&position_instructions); SDL_BlitSurface(Quitter,NULL,ecran,&position_quitter); marche(ecran,&marcher,&position_perso, perso_marcheg, perso_marched,p); } SDL_Flip(ecran); } SDL_FreeSurface(perso_marcheg); SDL_FreeSurface(perso_marched); SDL_FreeSurface(Jouer); SDL_FreeSurface(Quitter); SDL_FreeSurface(Instructions); SDL_FreeSurface(Continuer); SDL_FreeSurface(Titre); SDL_FreeSurface(image_bas); TTF_CloseFont(police_jouer); TTF_CloseFont(police_continuer); TTF_CloseFont(police_instructions); TTF_CloseFont(police_quitter); TTF_Quit(); }