#include #include #include #include #include #include #include #include #include #include "structure.h" #include "main.h" int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int iCmdShow) { SDL_Init(SDL_INIT_VIDEO); MNS_event event,ia; MNS_Initialisation_Evenement(&event); MNS_Initialisation_Evenement(&ia); MNS_FPS t; SDL_Surface *ecran = NULL; srand(time(0)); /* Fenetre */ //SDL_WM_SetIcon(IMG_Load("icone.bmp"), NULL); ecran = SDL_SetVideoMode(320, 240, 32, SDL_HWSURFACE || SDL_DOUBLEBUF); SDL_WM_SetCaption("Shinami Battle", NULL); PERSONAGE joueur,ordi; BACKROUND bg; DATA data; EFFET effect1,effect2; chargement_joueur(&joueur,"Chars/Chars1.mns"); chargement_joueur(&ordi,"Chars/Chars2.mns"); chargement_stage(ecran,&bg,"Stage/Stage1.mns"); joueur.statut.position.x = 100; joueur.statut.position.y = 100; ordi.statut.position.x = 200; ordi.statut.position.y = 100; chargement_effet(&effect1,"MNS/Effect/effect.mns"); chargement_effet(&effect2,"MNS/Effect/effect.mns"); chargement_data(&data,"MNS/Data/data.mns"); int control = 0,ecg = 0,fullscreen = 0; int count = 0,ta = 0,tp = 0; while(event.quit == 0) { if(control == 0) { MNS_Evenement(&event); if(event.touche[' '] == 1) control = 1; } else { MNS_Evenement(&ia); if(ia.touche[' '] == 1) control = 0; event.quit = ia.quit; } if(event.touche[SDLK_ESCAPE] == 1) event.quit = 1; if(ia.touche[SDLK_ESCAPE] == 1) event.quit = 1; if(event.touche[SDLK_F1] == 1) { if(fullscreen == 0) { SDL_FreeSurface(ecran); ecran = SDL_SetVideoMode(320, 240, 32, SDL_HWSURFACE || SDL_DOUBLEBUF); fullscreen = 1; }else { SDL_FreeSurface(ecran); ecran = SDL_SetVideoMode(320, 240, 32, SDL_FULLSCREEN); fullscreen = 0; } } gameplay(ia,&ordi.statut); gameplay(event,&joueur.statut); collision(bg,joueur,ordi,&joueur.statut.vitesse,&ordi.statut.vitesse); collision(bg,ordi,joueur,&ordi.statut.vitesse,&joueur.statut.vitesse); bg.vitesse.x = 0; bg.vitesse.y = 0; bg.position.y = 0; camera(&bg,&joueur,&ordi); camera(&bg,&ordi,&joueur); fonction_sol(bg,&joueur); fonction_sol(bg,&ordi); deplacement_coup(bg,&joueur,ordi); MNS_Deplacement(&joueur.statut.position,joueur.statut.vitesse); MNS_Deplacement(&ordi.statut.position,ordi.statut.vitesse); MNS_Deplacement(&bg.position,bg.vitesse); reglage_terrain(&bg); reglage_joueur(&joueur,ordi.statut.position.x,bg.sol); reglage_joueur(&ordi,joueur.statut.position.x,bg.sol); collision_statut(ecran,&joueur,joueur.statut.gif.i,joueur.statut.condition,joueur.statut.position); collision_statut(ecran,&ordi,ordi.statut.gif.i,ordi.statut.condition,ordi.statut.position); collision_attaque(&joueur,ordi.collision); collision_attaque(&ordi,joueur.collision); //AFFICHAGE affichage_stage(ecran,bg); affichage_joueur(ecran,&ordi); affichage_joueur(ecran,&joueur); affichage_effet(ecran,&ordi,&joueur,&effect1); affichage_effet(ecran,&joueur,&ordi,&effect2); barre_vie(ecran,&data,joueur.statut,ordi.statut); SDL_Flip(ecran); MNS_Fps(&t,50); } SDL_FreeSurface(ecran); SDL_Quit(); return 0; }