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();
    }
  }
}
Exemple #3
0
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]);
	}
}
Exemple #4
0
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);
}
Exemple #5
0
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 ;


    }
  }
}
Exemple #7
0
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();
}