#include "AdnForme.h"
// Génère les fichiers c.jo et c.joa
void genereFichierJo(char c)
{

jo joc = mesjo[c-'a'];

  // Nom du fichier jo
  char nomfichierjo[32];
  snprintf(nomfichierjo, 32, "%c.jo", c);
  // Nom du fichier joa
  char nomfichierjoa[32];
  snprintf(nomfichierjoa, 32, "%c.joa", c);

  // Fichier jo
  FILE* fichierjo;
  if (!(fichierjo = fopen(nomfichierjo, "wb")))
   {
    exit(-1);
   }
  // Fichier joa
  FILE* fichierjoa;
  if (!(fichierjoa = fopen(nomfichierjoa, "wb")))
   {
    exit(-1);
   }

  for(int duree = joc.duree; duree>0; duree--)
   {

int i;

    // monte laforcehbase
    for(int laforcehbase = joc.laforceh; laforcehbase > 0; laforcehbase--)
     {


	i = 0;
      while ( i  < 6 )
      {

                if((i==0)||(i==2)||(i==4))
         joc.amplitude[i] -= (3*joc.changeamplitude[i]);
        else
         joc.amplitude[i] += (3*joc.changeamplitude[i]);

         joc.dureefront[i] -= joc.changedureefront[i];

        if(joc.dureefront[i] < 6)
	joc.dureefront[i] = 6;



          fprintf(fichierjo,  "%c%c",    (char)joc.amplitude[i], (char)joc.dureefront[i]);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)joc.amplitude[i], (unsigned char)joc.dureefront[i]);



i++;

       }



     }


/********************************************************************************************/

    // Descente laforceb
    for(int laforcehbase = (joc.laforceh * 3); laforcehbase > 0; laforcehbase--)
     {


	i = 0;
      while ( i  < 6 )
      {

                if((i==0)||(i==2)||(i==4))
         joc.amplitude[i] += joc.changeamplitude[i];
        else
         joc.amplitude[i] -= joc.changeamplitude[i];

         joc.dureefront[i] += joc.changedureefront[i];

        if(joc.dureefront[i] < 6)
	joc.dureefront[i] = 6;

          fprintf(fichierjo,  "%c%c",    (char)joc.amplitude[i], (char)joc.dureefront[i]);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)joc.amplitude[i], (unsigned char)joc.dureefront[i]);

     for(int laforcebbase = joc.laforceb; laforcebbase > 0; laforcebbase--)
       {
	int augmente = 0;
      while ( augmente  < 6 )
      {

          fprintf(fichierjo,  "%c%c",    (char)joc.amplitude[augmente], (char)joc.dureefront[augmente]);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)joc.amplitude[augmente], (unsigned char)joc.dureefront[augmente]);
augmente++;
       }
       }


i++;

       }
 

     }

/*******************************************************************************/



    // Écriture des zones mémoires
    for(int zonememoire = joc.combiendezonememoire; zonememoire > 0 ; zonememoire--)
     {
      fprintf(fichierjo,  "%c%c", 130, 250);
      fprintf(fichierjoa, "%d %d\n", 130, 250);
      fprintf(fichierjo,  "%c%c", 128, 250);
      fprintf(fichierjoa, "%d %d\n", 128, 250);
     }
   }
  fclose(fichierjo);
  fclose(fichierjoa);
}
