#include #include #include "../Graphique/libgraph.h" #include "../ListeC/Liste.h" #include "../Interactif/Interactif.h" #include "init.h" #define TailleX 500 #define TailleY 500 #define Sol 475 #define ErreurHitbox 2 #define JoueurX TailleX/2 #define JoueurY 9*TailleY/10 struct entite joueur; int canon=0; int missile=0; int sbire=0; int bouillie=0; int bombe=0; char Nom[15]="Space Invader"; char input='\0'; int hitboxcanonL=0; int hitboxcanonH=0; int hitboxmissileL=0; int hitboxmissileH=0; int hitboxsbireL=0; int hitboxsbireH=0; int hitboxbouillieL=0; int hitboxbouillieH=0; int hitboxbombeL=0; int hitboxbombeH=0; void initialiser() { canon = chargerLutin("../../Lutins/invader_canon.bmp",COULEUR_NOIR); missile = chargerLutin("../../Lutins/invader_missile.bmp",COULEUR_NOIR); sbire = chargerLutin("../../Lutins/invader_monstre1_1.bmp",COULEUR_NOIR); bouillie = chargerLutin("../../Lutins/invader_monstre_bouillie.bmp",COULEUR_NOIR); bombe = chargerLutin("../../Lutins/invader_bombe.bmp",COULEUR_NOIR); tailleLutin(canon,&hitboxcanonL,&hitboxcanonH); tailleLutin(missile,&hitboxmissileL,&hitboxmissileH); tailleLutin(sbire,&hitboxsbireL,&hitboxsbireH); tailleLutin(bouillie,&hitboxbouillieL,&hitboxbouillieH); tailleLutin(bombe,&hitboxbombeL,&hitboxbombeH); } void initialiserjoueur(struct entite* joueur) { joueur->posx = JoueurX; joueur->posy = JoueurY; joueur->dropbombe = -1; } char pagedemarrage() { static const char policeDefaut[]="/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf"; int Largeur, Hauteur; rectanglePlein(0,0,TailleX,TailleY,COULEUR_NOIR); char jouer[26]="Appuyer sur j pour Jouer"; char quitter[30]="Appuyer ailleurs pour Quitter"; choisirPolice(policeDefaut,50); int Bienvenue = lutinTexte(Nom,COULEUR_VERT); tailleLutin(Bienvenue,&Largeur,&Hauteur); afficherLutin(Bienvenue,TailleX/2-Largeur/2,TailleY/4+Hauteur/2); choisirPolice(policeDefaut,20); int J = lutinTexte(jouer,COULEUR_BLANC); tailleLutin(J,&Largeur,&Hauteur); afficherLutin(J,TailleX/2-Largeur/2,TailleY/2-Hauteur/2); int Q = lutinTexte(quitter,COULEUR_BLANC); tailleLutin(Q,&Largeur,&Hauteur); afficherLutin(Q,TailleX/2-Largeur/2,TailleY/2+Hauteur/2); attendreEvenement (); input = touche(); while (input=='\0') { input = touche(); } return input; } void pagemort(int vie) { static const char policeDefaut[]="/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf"; int Largeur, Hauteur; rectanglePlein(0,0,TailleX,TailleY,COULEUR_NOIR); char mort[16]="Vous etes mort"; char nbr_vie[30]; sprintf(nbr_vie, "Nombre de vie restante : %d", vie); choisirPolice(policeDefaut,40); int M = lutinTexte(mort,COULEUR_ROUGE); tailleLutin(M,&Largeur,&Hauteur); afficherLutin(M,TailleX/2-Largeur/2,TailleY/4+Hauteur/2); choisirPolice(policeDefaut,20); int V = lutinTexte(nbr_vie,COULEUR_BLANC); tailleLutin(V,&Largeur,&Hauteur); afficherLutin(V,TailleX/2-Largeur/2,TailleY/2-Hauteur/2); } void pageGameOver() { static const char policeDefaut[]="/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf"; int Largeur, Hauteur; rectanglePlein(0,0,TailleX,TailleY,COULEUR_NOIR); char fin[11]="GAME OVER"; choisirPolice(policeDefaut,40); int F = lutinTexte(fin,COULEUR_ROUGE); tailleLutin(F,&Largeur,&Hauteur); afficherLutin(F,TailleX/2-Largeur/2,TailleY/2); }