Example #1
0
void Sortie(int _idBal, int* _idSemaphoreSynchro, int _idSemaphoreContenuParking, int _idSemaphoreRequete, int _idSemaphoreNbPlaces , int _idMPContenuParking, int _idMPRequete, int _idMPNbPlaces)
// Algorithme :
//
{
	Initialisation(_idBal, _idSemaphoreSynchro, _idSemaphoreContenuParking, _idSemaphoreRequete, _idSemaphoreNbPlaces , _idMPContenuParking, _idMPRequete, _idMPNbPlaces);
 	Moteur();
} //----- fin de Sortie
Example #2
0
//MAIN
int main(int argc, char **argv) {
  
  Initialisation(); //Initialisation GAML
  ros::init(argc, argv, "learning_follow");
  ros::NodeHandle n;
  movebase = n.advertise<geometry_msgs::Twist>("cmd_vel", 1);
  client_rmin = n.serviceClient<synchronisateur::getR>("getR");
  client_getThetas = n.serviceClient<synchronisateur::getThetas>("getThetas");
  client_moveThetas = n.serviceClient<synchronisateur::moveThetas>("moveThetas");
  sleep(1);

  
  std::list<gaml::libsvm::Predictor<Entree,double>> null_predictors;
  gaml::libsvm::Predictor<Entree,double> null_predictor(nb_nodes_of, fill_nodes);
  for(int i = 0; i < 4; i++) null_predictors.push_back(null_predictor);
  fonction g(output_of_array,null_predictors.begin(), null_predictors.end());

  for(int pass=0; pass < NB_PASSES; pass++)
    { 
      apprentissageAleatoire(g,pass==0,pass==NB_PASSES-1); //dernière pase: on enregistre
    }


  return 0;

}
Example #3
0
int main ()
{
	
	InitialiserApplication(XTERM);
	Initialisation();
	waitpid(clavier,NULL,0);
	Destruction();
	return 0;

}
Example #4
0
int main() {
	/* VARIABLES */
	char *req;								//Requête de l'utilisateur
	char *srvAddress; 				//Adresse du serveur
	char *username;						//Nom de connexion de l'utilisateur
	char *password;						//Mot de passe de l'utilisateur
	char *sessionid; 					//Identifiant de session
	char *reqRec; 						//requete reçue en réception
	int retour;								//Variable de retour
	int again;								//variable de boucle
	char requete[100] = {0};	//requete transmise au serveur

	/* INITIALISATION DES VARIABLES */
	srvAddress = malloc(sizeof(char)*1024);
	srvAddress = "localhost";
	reqRec = malloc(sizeof(char)*1024);
	sessionid = malloc(sizeof(char)*8);
	username = NULL;
	password = NULL;
	again = EVAL_FALSE;

	/* DEBUT */
	do{
		Welcome(); //Affichage de l'interface graphique

		//Initialisation de la connexion avec le serveur
		printf("Test de la connexion avec le serveur.\n");
		if(Initialisation(srvAddress) != 1) {
				printf("Le serveur est hors ligne ...\n");
				return EXIT_FAILURE;
		} else {
				printf("Le serveur est en ligne.");
		}
		//puts("Phase de test, on supprime le test de connexion au serveur.");
		printf("\n**************************************************************\n\n");

		/* Saise des identifiants */
		retour = DemandeID(&username, &password);
		if(retour != 0){
			return EXIT_FAILURE;
		}

		//connectUser(&username, &password);
		/* Création de la requete de connexion */
		strcat(requete,"CONNECT ");
		strcat(requete,username);
		strcat(requete," ");
		strcat(requete,password);
		strcat(requete,"\n");

		printf("%s\n", requete);	//Affichage de la requete envoyée
		/* Envoi des identifiants et récupération du session ID*/
		if(Emission(requete)!=1) {
				printf("Erreur d'émission\n");
				return 1;
		}

		/* Connexion au service, echec si le sessionID retourné est 1*/
		reqRec = Reception();
		get_word(reqRec, sessionid,2);
		printf("%s\n",reqRec );

		if(cmp_word(sessionid,"1",1)){
			printf("Erreur lors de la réception du session ID : val = %s\n", sessionid);
			return 1;
		}

		/* Traitement du choix de l'utilisateur */
		do{
			/* Proposition des différents cas et appel des fonctions correspondantes */
			again = ChoiceScreen(username, sessionid);
		}while(again != EVAL_FALSE);
	}while(1);
	/* -------------------------------------------------- */
/*	if(Emission("Test de req client1.\n")!=1) {
		printf("Erreur d'�mission\n");
		return 1;
	}

	req = Reception();

	if(req != NULL) {
		printf("J'ai recu: %s\n", req);
		free(req);
	} else {
		printf("Erreur de r�ception\n");
		return 1;
	}

	req = Reception();
	if(req != NULL) {
		printf("J'ai recu: %s\n", req);
		free(req);
	} else {
		printf("Erreur de r�ception\n");
		return 1;
	}

	req = Reception();
	if(req != NULL) {
		printf("J'ai recu: %s\n", req);
		free(req);
	} else {
		printf("Erreur de r�ception\n");
		return 1;
	}

	Terminaison();*/

	/* FIN */
	return 0;
}
int LancerJeu(gpointer *pData)
{
    /* Cette fonction va appeler les fonctions d'initialisations de la SDL et lancer le jeu ou l'éditeur */

    SDL_Renderer *pMoteurRendu = NULL;  //Pointeurs sur le moteur de rendu
    SDL_Window *pFenetre = NULL;        //Pointeur sur la fenêtre
    FMOD_CHANNEL *channelEnCours = NULL;    //Pour le contrôle des différents canaux audios

    Sprite images[50] = {{NULL}, {0,0}};   //Tableau des images (textures + positions)
    TTF_Font *polices[10] = {NULL};		//Tableau des polices

    Options *pOptions = NULL;	//Pointeur sur une structure Options

    FILE *pFichierErreur = fopen("ressources/ErreursLog.txt", "a");        //Pointeur sur le fichier d'erreurs

    SDL_Surface *surf = NULL;	//Pointeur sur une surface
    SDL_Texture *pEcranChargement = NULL;	//Pointeur sur une texture pour l'écran de chargement

    Animation anim[10];	//Tableau de structures Animation

    int erreur=0;	//Code d'erreur

    Joueur *pJoueur = (Joueur *)g_slist_nth_data((GSList*)pData, 6);	//On récupère le pointeur vers la structure Joueur dans la liste chaînée
    Sons *pSons = (Sons*)g_slist_nth_data((GSList*)pData, 4);		//De même avec celui vers la structure Sons
    FMOD_SYSTEM *pMoteurSon = (FMOD_SYSTEM *)g_slist_nth_data((GSList*)pData, 3);	//De même avec celui vers la structure FMOD_SYSTEM

    if(pFichierErreur == NULL)	//Vérification
    {
        exit(EXIT_FAILURE);
    }

    /* On lit les options et on remplit la structure */
    pOptions = DefinirOptions();

    Initialisation(&pMoteurRendu, pFichierErreur, &pFenetre, pOptions);     //Initialisation des principaux éléments (SDL, fenêtre, moteur de rendu)

    FMOD_System_GetChannel(pMoteurSon, M_MENU, &channelEnCours);	//On met en pause la musique du menu
    FMOD_Channel_SetPaused(channelEnCours, true);

    if(BMusique)	//S'il y a de la musique
    {
        FMOD_System_PlaySound(pMoteurSon, M_LOAD, pSons->music[M_LOAD], true, NULL);        // On lit la musique de chargement
        FMOD_System_GetChannel(pMoteurSon, M_LOAD, &channelEnCours);
        FMOD_Channel_SetVolume(channelEnCours, (float)(Volume/100.0));
        FMOD_Channel_SetPaused(channelEnCours, false);
    }

    /* On charge l'image de chargement et on vérifie */
    surf = IMG_Load("ressources/img/load.png");

    if (surf == NULL)
    {
        fprintf(pFichierErreur, "Erreur: impossible d'ouvrir le fichier ressources/img/load.png");
        exit(EXIT_FAILURE);
    }

    /* On transforme la surface en texture pour l'affichage et on libère la mémoire occupée par la surface */
    pEcranChargement = SDL_CreateTextureFromSurface(pMoteurRendu, surf);
    SDL_FreeSurface(surf);

    SDL_ShowCursor(false);	//On masque le curseur pendant le jeu (on affichera un curseur personnalisé dans l'éditeur)

    /* On efface l'écran et on colle l'image de chargement */
    SDL_SetRenderDrawColor(pMoteurRendu, 0, 0, 0, SDL_ALPHA_OPAQUE);
    SDL_RenderClear(pMoteurRendu);
    SDL_RenderCopy(pMoteurRendu, pEcranChargement, NULL, NULL);
    SDL_RenderPresent(pMoteurRendu);

    SDL_EventState(SDL_TEXTEDITING, SDL_DISABLE);   //Désactivation des événements dont on a pas besoin.
    SDL_EventState(SDL_TEXTINPUT, SDL_DISABLE);

    SDL_DisableScreenSaver();       //Désactivation de l'écran de veille.

    erreur = Chargements(images, pMoteurRendu, polices, anim);	//On charge tout !

    /* Traitement des éventuelles erreurs */
    if(erreur == 1)
    {
        fprintf(pFichierErreur, "Erreur lors du chargement des images. Veuillez vérifier ressources\\img\\... \n");
        exit(EXIT_FAILURE);
    }
    else if (erreur == 2)
    {
        fprintf(pFichierErreur, "Erreur lors du chargement des polices. Veuillez vérifier ressources\\fonts\\... \n");
        exit(EXIT_FAILURE);
    }
    else if (erreur == 3)
    {
        fprintf(pFichierErreur, "Erreur lors du chargement des animations. Veuillez vérifier ressources\\anim\\... \n");
        exit(EXIT_FAILURE);
    }

    if (BMusique)
    {
        FMOD_System_GetChannel(pMoteurSon, M_LOAD, &channelEnCours);	//On arrête la musique du chargement
        FMOD_Channel_SetPaused(channelEnCours, true);

        FMOD_Sound_SetLoopCount(pSons->music[M_JEU], -1);      // On active la lecture en boucle

        FMOD_System_PlaySound(pMoteurSon, M_JEU, pSons->music[M_JEU], true, NULL);        // On lit la musique du jeu
        FMOD_System_GetChannel(pMoteurSon, M_JEU, &channelEnCours);
        FMOD_Channel_SetVolume(channelEnCours, (float)(Volume/100.0));
        FMOD_Channel_SetPaused(channelEnCours, false);
    }

    /* On regarde si on a appelé la fonction en mode jeu ou en mode éditeur */
    if (pJoueur->mode == MODE_CAMPAGNE)
    {
        InitialiserInfos(pOptions, pJoueur);	//On définit les infos sur la partie en cours
        erreur = BouclePrincipale(pJoueur, images, anim, pMoteurRendu, pMoteurSon, pSons, polices);    //Boucle du jeu

        if(erreur == JEU_FIN_ERREUR_CHARGEMENT)
        {
            MessageInformations("Erreur lors du chargement d'un niveau, consultez le fichier erreurs.txt", polices, pMoteurRendu, NULL);
        }

        SauverMySql(pJoueur);	//On sauvegarde l'avancée du joueur
    }
    else if(pJoueur->mode == MODE_PERSO)
    {
        InitialiserInfos(pOptions, pJoueur);	//On définit les infos sur la partie en cours
        erreur = BouclePrincipale(pJoueur, images, anim, pMoteurRendu, pMoteurSon, pSons, polices);    //Boucle du jeu

        if(erreur == JEU_FIN_ERREUR_CHARGEMENT)
        {
            MessageInformations("Erreur lors du chargement d'un niveau, consultez le fichier erreurs.txt", polices, pMoteurRendu, NULL);
        }
    }
    else if (pJoueur->mode == MODE_EDITEUR)
    {
        erreur = Editeur(pMoteurRendu, images, pMoteurSon, pSons, polices, pJoueur);	//On lance la boucle de l'éditeur

        if(erreur == JEU_FIN_ERREUR_CHARGEMENT)
        {
            MessageInformations("Erreur lors du chargement d'un niveau, consultez le fichier erreurs.txt", polices, pMoteurRendu, NULL);
        }
    }

    /* Libération de la mémoire */
    LibererMemoire(pMoteurRendu, images, anim, polices, pFenetre, pOptions);

    fclose(pFichierErreur);	//On ferme le fichier d'erreur

    return 0;
}
Example #6
0
// PRIMARY FUNCTION TO WRITE A LINE TO THE LOGFILE
bool
LogAnalysis::AnalysisLog(const char* p_function,LogType p_type,bool p_doFormat,const char* p_format,...)
{
  // Multi threaded protection
  AutoCritSec lock(&m_lock);
  CString logBuffer;
  bool result = false;

  // Make sure the system is initialized
  Initialisation();

  // Make sure we ARE logging
  if(m_logLevel == HLL_NOLOG)
  {
    return result;
  }

  // Check on the loglevel
  if(m_logLevel == HLL_ERRORS && (p_type == LogType::LOG_INFO || p_type == LogType::LOG_TRACE))
  {
    return result;
  }

  // Timing position in the buffer
  int position = 0;

  // Set the type
  char type = ' ';
  switch(p_type)
  {
    case LogType::LOG_TRACE:type = 'T'; break;
    case LogType::LOG_INFO: type = '-'; break;
    case LogType::LOG_ERROR:type = 'E'; break;
    case LogType::LOG_WARN: type = 'W'; break;
  }

  // Get/print the time
  if(m_doTiming)
  {
    __timeb64 now;
    struct tm today;

    position = 26;  // Prefix string length
    _ftime64_s(&now);
    _localtime64_s(&today,&now.time);
    logBuffer.Format("%4.4d-%2.2d-%2.2d %2.2d:%2.2d:%2.2d.%03d %c "
                    ,today.tm_year + 1900
                    ,today.tm_mon  + 1
                    ,today.tm_mday
                    ,today.tm_hour
                    ,today.tm_min
                    ,today.tm_sec
                    ,now.millitm
                    ,type);
  }

  // Print the calling function
  logBuffer += p_function;
  if(logBuffer.GetLength() < position + ANALYSIS_FUNCTION_SIZE)
  {
    logBuffer.Append("                                            "
                    ,position + ANALYSIS_FUNCTION_SIZE - logBuffer.GetLength());
  }

  // Print the arguments
  if(p_doFormat)
  {
    va_list  varargs;
    va_start(varargs,p_format);
    logBuffer.AppendFormatV(p_format,varargs);
    va_end(varargs);
  }
  else
  {
    logBuffer += p_format;
  }

  // Add end-of line
  logBuffer += "\r\n";

  if(m_file)
  {
    // Locked m_list gets a buffer
    m_list.push_back(logBuffer);
    result = true;
  }
  else if(m_doEvents)
  {
    WriteEvent(m_eventLog,p_type,logBuffer);
    result = true;
  }
  // In case of an error, flush immediately!
  if(m_file && p_type == LogType::LOG_ERROR)
  {
    SetEvent(m_event);
  }
  return result;
}
int main() {
    char *message = NULL; /*Déclaration et initialisation d'un pointeur message
												qui contiendra les messages envoyé par le serveur*/

    /*Connexion entre le client et le serveur*/
    if(Initialisation("localhost") != 1) {
        printf("Erreur d'initialisation\n");
        return 1;
    }

    /*________________________________________Notre Partie__________________________________________*/

    system("clear");	/*On efface le terminal pour un affichage plus clair*/

    /*Déclaration et initialisation des variables*/
    int choix = 0;	/*Contiendra le choix de l'utilisateur pour les menus*/
    int retourAuthentification = 1;	/*Contiendra le retour de la fonction authentification*/
    int retourDisconnect = 1;	/*Contiendra le retour de la fonction Disconnect*/
    int retourConsult = 1; /*Contiendra le retour de la fonction Consult*/
    int retourDelete = 1;	/*Contiendra le retour de la fonction Delete*/
    int retourInbox = 1;	/*Contiendra le retour de la fonction Inbox*/
    int retourInbox_spy = 1;
    int retourRead = 1;	/*Contiendra le retour de la fonction Read*/
    int retourSend = 1;	/*Contiendra le retour de la fonction Send*/

    /*Boucle pour l'authentification du client*/
    do {
        system("clear");
        Menu_Authentification();	/*Affichage du menu de connexion*/
        choix = Choix(); /*Recupération du choix de l'utilisateur que l'on stocke dans la
										 variable choix*/
        system("clear");

        /*Boucle pour le choix de la fonction*/
        switch (choix) {
        case 1:
            /*Connexion au serveur*/
            retourAuthentification = Authentification();
            break;

        case 2:
            /*Deconnexion*/
            retourDisconnect = Disconnect();
            if (retourDisconnect == 0) {
                /*Si il choisit la déconnexion, cela retourne 0
                															donc on sort de la boucle*/
                return 0;
            }
            break;

        default : /*Si choix n'est ni 1, ni 2, affiche un message d'erreur et recommence
								la boucle*/
            printf("Veuillez renseignez un choix valide.\n");
            FreeBuffer();
            system("sleep 3");
        }
        system("clear");
        printf("Chargement en cours, veuillez patientez.\n");
        system("sleep 1");
    } while(retourDisconnect != 0 && retourAuthentification != 0); /*On refait cette boucle tant que
																																	la fonction Disconnect retourne 1,
																																	c'est à dire que l'utilisateur veuille revenir au menu
																																	précedent et tant que l'authentification se passe
																																	mal.*/

    /*Boucle principale pour l'éxecution de toutes les fonctions*/
    if (retourAuthentification != 1) { /*On rentre dans la boucle que si l'authentification est correcte*/
        do {
            system("clear");
            Menu_Principal();	/*Affichage du menu de principal*/
            choix = Choix();	/*Recupération du choix de l'utilisateur que l'on stocke dans la
											 variable choix*/
            system("clear");
            switch (choix) {
            case 1:
                /*Appel de la fonction Lecture d'un mail*/
                retourInbox = 0;
                retourInbox_spy = Inbox_spy();
                retourConsult = Consult(retourInbox_spy);
                if (RetourMenuPrecedent() == 0) {
                    /*Une fois la fonction est fini correctement,
                    																 on execute la fonction RetourMenuPrincipal*/
                    break;
                }

            case 2:
                /*Appel de la fonction Lecture d'un mail*/
                retourRead = Read();
                if (RetourMenuPrecedent() == 0) {
                    /*Une fois la fonction est fini correctement,
                    																 on execute la fonction RetourMenuPrincipal*/
                    break;
                }

            case 3:
                /*Appel de la fonction Suppression d'un message*/
                retourDelete = Delete();
                if (RetourMenuPrecedent() == 0) {
                    /*Une fois la fonction est fini correctement,
                    																 on execute la fonction RetourMenuPrincipal*/
                    break;
                }

            case 4:
                /*Appel de la fonction Ecriture d'un message*/
                retourSend = Send();
                if (RetourMenuPrecedent_2() == 0) {
                    /*Une fois la fonction est fini correctement,
                    																 on execute la fonction RetourMenuPrincipal*/
                    break;
                }

            case 5:
                /*Appel de la fonction Nombre de messages*/
                retourInbox = Inbox();
                if (RetourMenuPrecedent() == 0) {
                    /*Une fois la fonction est fini correctement,
                    																 on execute la fonction RetourMenuPrincipal*/
                    break;
                }

            case 6:
                /*Appel de la fonction Déconnexion*/
                retourDisconnect = Disconnect();
                if (retourDisconnect == 0) {
                    /*Si Deconnexion se passe bien, on retourne 0
                    															pour sortir de la boucle*/
                    return 0;
                }
                break;

            default:	/*Si choix différent de ceux-ci dessus, affiche un message d'erreur et recommence
									la boucle*/
                printf("Veuillez renseignez un choix valide.\n");
                FreeBuffer();
                system("sleep 3");
            }
            system("clear");
            printf("Chargement en cours, veuillez patientez.\n");
            system("sleep 1");
        } while(retourDisconnect != 0); /*On sort pas de cette boucle tant que l'utilisateur ne
																		choisit pas déconnexion et confirme la déconnexion
																		ainsi la fonction Déconnxion retourne 1*/
    }
    return 0;
}