#include #include #include #include #include #include "MNS/MNS.h" #include "MNS_GL/MNS.h" #include "structure.h" #include "main.h" int main(int argc, char** argv) { int largeur = 320,hauteur = 240; glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH); glutInitWindowSize(largeur,hauteur); glutInitWindowPosition(300,100); glutCreateWindow("Shinami Battle"); glClearColor(1,1,1,0); glEnable(GL_TEXTURE_2D); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); MNS_FPS t; MNS_event event,ia = MNS_Evenement(); PERSONAGE joueur,ordi; BACKROUND bg; EFFET effect1,effect2; chargement_joueur(&joueur,"Chars/Chars1.mns"); chargement_joueur(&ordi,"Chars/Chars2.mns"); chargement_stage(&bg,"Stage/Stage1.mns"); chargement_effet(&effect1,"MNS/Effect/effect.mns"); chargement_effet(&effect2,"MNS/Effect/effect.mns"); printf("Game\n"); joueur.statut.position.x = 100; joueur.statut.position.y = 300; ordi.statut.position.x = 200; ordi.statut.position.y = 300; int control = 0,fullscreen = 2; while(1) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); MNS_Fenetre(largeur,hauteur,fullscreen); if(control == 0) { event = MNS_Evenement(); if(event.touche[' '] == 1) control = 1; }else { ia = MNS_Evenement(); if(ia.touche[' '] == 1) control = 0; } if(event.touche[27] == 1) exit(0); gameplay(event,&joueur.statut); gameplay(ia,&ordi.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,(int)ordi.statut.position.x,bg.sol); reglage_joueur(&ordi,(int)joueur.statut.position.x,bg.sol); collision_statut(&joueur,joueur.statut.gif.i,joueur.statut.condition,joueur.statut.position); collision_statut(&ordi,ordi.statut.gif.i,ordi.statut.condition,ordi.statut.position); collision_attaque(&joueur,ordi.collision); collision_attaque(&ordi,joueur.collision); affichage_stage(largeur,hauteur,bg); affichage_joueur(&ordi); affichage_joueur(&joueur); affichage_effet(&ordi,&joueur,&effect1); MNS_Fps(&t,50); glutSwapBuffers(); } return 0; }