bool continuer = true;bool ecran1 = true;bool ecran2 = false;while(continuer){ if(ecran1) { [switch enchâssés pour la gestion des évenements] [définition des images de l'écran, FillRect / Blit] } else if(ecran2) { [même chose] }SDL_Flip(ecran);}
#include <stdlib.h>#include <stdio.h>#include <SDL/SDL.h>#include <SDL/SDL_image.h>#include <SDL/SDL_ttf.h>#include <FMOD/fmod.h>#include <MYSQL/mysql.h>void erreur(); // Arrêt du programme pour permettre affichage de l'erreur, fermeture à la pression d'une touche.int main ( int argc, char** argv ){ SDL_Init(SDL_INIT_VIDEO); FSOUND_Init(44100, 32, 0); SDL_Event event; SDL_Surface *ecran = NULL; ecran = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE | SDL_DOUBLEBUF); SDL_Surface *IMG_Chargement1 = NULL, *IMG_Chargement2 = NULL, *IMG_Chargement3 = NULL, *IMG_Chargement4 = NULL, *IMG_Chargement5 = NULL, *IMG_Chargement6 = NULL, *IMG_ChargementEI = NULL, *IMG_ChargementES = NULL; IMG_Chargement1 = IMG_Load("DATA/Chargement/Loading.png"); IMG_Chargement2 = IMG_Load("DATA/Chargement/Loading_init1.png"); IMG_Chargement3 = IMG_Load("DATA/Chargement/Loading_init2.png"); IMG_Chargement4 = IMG_Load("DATA/Chargement/Loading_init3.png"); IMG_Chargement5 = IMG_Load("DATA/Chargement/Loading_init4.png"); IMG_Chargement6 = IMG_Load("DATA/Chargement/Loading_init5.png"); IMG_ChargementEI = IMG_Load("DATA/Chargement/TafalError1.png"); IMG_ChargementES = IMG_Load("DATA/Chargement/TafalError2.png"); SDL_Rect positionChargement; positionChargement.x = ecran->w / 2 - IMG_Chargement1->w / 2; positionChargement.y = ecran->h / 2 - IMG_Chargement1->h / 2; SDL_BlitSurface(IMG_Chargement1, NULL, ecran, &positionChargement); SDL_Flip(ecran); SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0, 0, 0)); SDL_BlitSurface(IMG_Chargement2, NULL, ecran, &positionChargement); SDL_Flip(ecran); FILE* file_login = NULL; file_login = fopen("login.txt", "r"); if(file_login != NULL) { long teteDeLecture = 1; char chaineDeLecture[50] = ""; while (fgets(chaineDeLecture, 50, file_login) != NULL) { if(teteDeLecture == 1) { char login[50] = ""; login[50] = chaineDeLecture[50]; teteDeLecture++; } else if(teteDeLecture == 2) { char password[50] = ""; password[50] = chaineDeLecture[50]; teteDeLecture++; } } fclose(file_login); } else { SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0, 0, 0)); SDL_BlitSurface(IMG_ChargementEI, NULL, ecran, &positionChargement); SDL_Flip(ecran); error(); }/* Connexion à la base de donnée */// Cette partie n'est pas encore faite - sert à rien tant que je peu pas faire le reste SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0, 0, 0)); SDL_BlitSurface(IMG_Chargement5, NULL, ecran, &positionChargement); SDL_Flip(ecran); /* Declaration des variables pour l'écran affiché */ bool ecranAccueil = true; bool ecranOption = false; SDL_FreeSurface(IMG_Chargement1); SDL_FreeSurface(IMG_Chargement2); SDL_FreeSurface(IMG_Chargement3); SDL_FreeSurface(IMG_Chargement4); SDL_FreeSurface(IMG_Chargement5); SDL_FreeSurface(IMG_ChargementEI); SDL_FreeSurface(IMG_ChargementES); SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0, 0, 0)); SDL_BlitSurface(IMG_Chargement6, NULL, ecran, &positionChargement); SDL_Flip(ecran); bool continuer = true; while(continuer) { if(ecranAccueil) { SDL_WaitEvent(&event); switch(event.type) { case SDL_KEYUP: exit(EXIT_SUCCESS); } SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0, 0, 0)); SDL_BlitSurface(IMG_Chargement6, NULL, ecran, &positionChargement); SDL_Flip(ecran); } else if(ecranOption) { } } FSOUND_Close(); SDL_Quit(); return EXIT_SUCCESS;}void erreur(){ bool erreur_continue = true; SDL_Event event; while (erreur_continue) { SDL_WaitEvent(&event); switch(event.type) { case SDL_KEYUP: exit(EXIT_SUCCESS); } }}
while(continuer) { if(ecranAccueil) { SDL_WaitEvent(&event); switch(event.type) { case SDL_KEYUP: exit(EXIT_SUCCESS); } SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0, 0, 0)); SDL_BlitSurface(IMG_Chargement6, NULL, ecran, &positionChargement); SDL_Flip(ecran); } else if(ecranOption) { }
if(file_login != NULL) {
if(file_login == NULL){ fprintf(stderr, "Ouverture de fichier non réussi"); exit("Sortie à l'arrache");}