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); }
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; } } } }
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); }
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; }