Exemplo n.º 1
0
Arquivo: tri.c Projeto: iiyajid/TP_C
int main(int argc, char *argv[])
{
  ITEM items[MAX_ITEM];
  int *nb_items;
  FILE *f;
  
  nb_items = malloc(sizeof(int));
  *nb_items = 0;
  
  printf("%d\n", *nb_items);
  Lire(items, nb_items);
  printf("%d\n", *nb_items);
  while(TRUE){
      f = fopen("file.txt", "r");
      if(*nb_items>0)
          while( fread(items+(*nb_items), sizeof(ITEM), 1, f) )
              (*nb_items)++;
      printf("%d", *nb_items);
      fclose(f);
      Choix(items, *nb_items);
      Afficher(items, *nb_items);
      printf("%d\n", *nb_items);
      f = fopen("file.txt", "w");
      fwrite(items, *nb_items, sizeof(ITEM), f);
      fclose(f);
  }

  //printf("%d", *nb_items);
  //f = fopen("file.txt", "w");
  //fwrite(items, *nb_items, sizeof(ITEM), f);
  //fclose(f);

  exit(0);
}
Exemplo n.º 2
0
void MenuPrincipal()
{
    SDL_Event event;
    int VariablePourSon=0;
    copt Charger;
    Comp_menu_princp(&Charger);
    Blitterc_p(&Charger);
    int continuer=1;
    while (continuer)
    {
        SDL_WaitEvent(&event);
        switch( event.type )
        {
        case SDL_QUIT:
            continuer=0;
            LibererComposantsMenuPrincipal(&Charger);
            exit(0);
            break;
        case SDL_MOUSEBUTTONUP:
            if (collision(event.button.x, event.button.y, Charger.pos_jouer))
            {
                continuer=0;
                LibererComposantsMenuPrincipal(&Charger);
                Choix();
            }
            else if (collision(event.button.x,event.button.y, Charger.pos_options))
            {
                continuer=0;
                LibererComposantsMenuPrincipal(&Charger);
                Options();
            }
            else if (collision(event.button.x,event.button.y, Charger.pos_aide))
            {
                continuer=0;
                LibererComposantsMenuPrincipal(&Charger);
                Aide();
            }
             else if (collision(event.button.x,event.button.y, Charger.pos_quit))
            {
                continuer=0;
                LibererComposantsMenuPrincipal(&Charger);
                exit(0);
            }
            break;
        case SDL_KEYDOWN: /* Si appui d'une touche */
            switch (event.key.keysym.sym)
            {
            case SDLK_s:
                Blitterc_p(&Charger);
                ModifierSon (&VariablePourSon);
                break;
            default:
                break;
            }
        }
    }
}
Exemplo n.º 3
0
void Jeu1()
{
    SDL_Event event;
    SDL_Surface *Curseur=SDL_LoadBMP("images/petiteCroix.bmp");;
    SDL_Rect positionCurseur;

    int recommencer=1;/* Pour le grand do while*/
    int pointJoueur1=0, pointJoueur2=0;
    int gagnant;
    int VariablePourSon=0;
    int Bloquer_Affichage_Son=1;

    ComposantsFonctionPourJeu Charger;
    Composants_Pour_FonctionPourJeu1(&Charger);
    do
    {
        int terrain[3][3] = {{0}};/*On réinitialise les valeurs*/
        int continuer = 1;
        int coups =9;
        int Variable_Pour_Image=0;
        Pions TourJoueur = CROIX;/*Les croix Commencent*/
        /*Un premier blit pour une belle présentation*/
        Blits1(terrain, Variable_Pour_Image , pointJoueur1, pointJoueur2 ,&Charger);

        while (continuer && coups >0)
        {
            SDL_WaitEvent(&event);
            switch( event.type )
            {
            case SDL_MOUSEMOTION:
                Bloquer_Affichage_Son=1;
                /*if (collision(event.button.x,event.button.y, Charger.pos_Quitter ))
                {
                    SDL_FreeSurface(Curseur);
                }*/
                break;
            case SDL_QUIT:
                SDL_FreeSurface(Curseur);
                libererJeu1(&Charger);
                exit(0);
                break;
            case SDL_MOUSEBUTTONUP:
                evenement_Click1(event,&TourJoueur,Charger,terrain,&coups,&Curseur,&Variable_Pour_Image);
                if (collision(event.button.x,event.button.y, Charger.pos_Quitter ))
                {
                    continuer=0;
                    libererJeu1(&Charger);
                    Choix();
                }
                break;
            case SDL_KEYDOWN: /* Si appui d'une touche */
                switch (event.key.keysym.sym)
                {
                case SDLK_s:
                    Blits1(terrain, Variable_Pour_Image , pointJoueur1, pointJoueur2 ,&Charger);
                    ModifierSon (&VariablePourSon);
                    Bloquer_Affichage_Son=0;
                    break;
                case SDLK_ESCAPE:
                    continuer=0;
                    SDL_FreeSurface(Curseur);
                    libererJeu1(&Charger);
                    MenuPrincipal();
                    break;
                default:
                    break;
                }
                break;
            }
            if (Bloquer_Affichage_Son==1)
            {
                /*On vérifie si la partie est finie*/
                VerifierFinMatch1(terrain,&pointJoueur1,&pointJoueur2, &continuer , &gagnant );
                Blits1(terrain, Variable_Pour_Image , pointJoueur1, pointJoueur2 ,&Charger);
                /*après tout ça on blit le curseur*/
                positionCurseur.x = event.motion.x-(Curseur->w / 2);
                positionCurseur.y = event.motion.y-(Curseur->h / 2);
                SDL_BlitSurface(Curseur, NULL, SDL_GetVideoSurface(), &positionCurseur);
                SDL_Flip(SDL_GetVideoSurface());
            }
        }
        SDL_Delay(500);/*On patiente pour que l'utilisateur voie ou l'adversaire à joué*/
        FinMatch(&recommencer, &gagnant);/*Affichage gagné/ perdu/ MatchNull */
        SDL_Flip(SDL_GetVideoSurface());
        Curseur=SDL_LoadBMP("images/petiteCroix.bmp");
    }
    while (recommencer);
    SDL_FreeSurface(Curseur);
    libererJeu1(&Charger);
}
Exemplo n.º 4
0
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;
}