/*-----------------------------------------------------------------------
 * gen_probleme
 *
 * Génértateur de positions aléatoires 
 * 
 * Auteur : Alexandre AUPETIT (aaupetit@club-internet.fr)
 * Web : http://home.alex.tuxfamily.org/pvc.html
 *       http://home.alex.tuxfamily.org/pvc/robotique/coconut.html
 * 
 * Important : Ce logiciel est soumis à la licence de logiciel libre GPL
 *-----------------------------------------------------------------------*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
#include <string.h>

#define XMIN -6
#define XMAX -1
#define YMIN 2
#define YMAX 6

// initialisation de la position des balles par lecture du fichier pos.txt
// le fichier pos_balles.txt doit contenir les positions au format :
// x_robot;y_robot
// x_balle1;y_balle1
// x_balle2;y_balle2
// x_balle3;y_balle3
// ...
// x_balle8;y_balle8
void write_pos(int nb_balles) {
        FILE *ficPos;
        double x, y;
        int i;

        ficPos=fopen("pos_balles.txt", "w+");
        fprintf(ficPos, "-0.5;0.5\n");
        if (ficPos != NULL) {
                for (i=0; i<nb_balles; i++) {
                        x=(double)(rand()/(RAND_MAX+1.0))*(XMAX-XMIN)+XMIN;
                        y=(double)(rand()/(RAND_MAX+1.0))*(YMAX-YMIN)+YMIN;
                        fprintf(ficPos, "%lf;%lf\n", x, y);
                }
        } else {
                printf("Erreur d'ecriture du fichier pos_balles.txt !");
                exit(1);
        }
}



// ----------------------------------------------------------------------------
// prog principal
// ----------------------------------------------------------------------------
int main(int argc, char *argv[]) {
        int nb_balles, seed;

        if (argc == 3) {
                nb_balles=atoi(argv[1]);
                seed=atoi(argv[2]);
        } else {
                if (argc == 2) {
                        nb_balles=atoi(argv[1]);
                        seed=time (NULL);
                } else {
                        printf("Erreur dans le nombre d'arguments !\n");
                        printf("Usage : gen_probleme [Nb balles] [Graine srand]\n");
                        exit(1);
                }
        }
        srand(seed);

        write_pos(nb_balles);
}