#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; 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; char Nom[] = "Space Invader"; char input = '\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 = 0; int Hauteur = 0; char jouer[] = "Appuyer sur j pour Jouer"; char quitter[] = "Appuyer ailleurs pour Quitter"; choisirPolice (policeDefaut, TailleX / 20); int LutinJouer = lutinTexte (jouer, COULEUR_BLANC); int LutinQuitter = lutinTexte (quitter, COULEUR_BLANC); choisirPolice (policeDefaut,TailleX / 10); int LutinBienvenue = lutinTexte (Nom, COULEUR_VERT); rectanglePlein (0, 0, TailleX, TailleY, COULEUR_NOIR); tailleLutin (LutinBienvenue, &Largeur, &Hauteur); afficherLutin (LutinBienvenue, TailleX / 2 - Largeur / 2, TailleY / 4 + Hauteur / 2); tailleLutin (LutinJouer, &Largeur, &Hauteur); afficherLutin (LutinJouer, TailleX/2-Largeur/2, TailleY/2-Hauteur/2); tailleLutin (LutinQuitter, &Largeur, &Hauteur); afficherLutin (LutinQuitter, TailleX / 2 - Largeur / 2, TailleY / 2 + Hauteur / 2); attendreEvenement (); input = touche(); while (input == '\0') { input = touche(); } return input; } void pagemort (int nbr_vie) { static const char policeDefaut[] = "/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf"; int Largeur = 0; int Hauteur = 0; char mort[] = "Vous etes mort"; char vie[30] = "\0"; sprintf(vie, "Nombre de vie restante : %d", nbr_vie); choisirPolice (policeDefaut, TailleX / 10); int LutinMort = lutinTexte(mort, COULEUR_ROUGE); choisirPolice (policeDefaut, TailleX / 20); int LutinVie = lutinTexte(vie, COULEUR_BLANC); rectanglePlein (0, 0, TailleX, TailleY, COULEUR_NOIR); tailleLutin (LutinMort, &Largeur, &Hauteur); afficherLutin (LutinMort, TailleX / 2 - Largeur / 2, TailleY / 4 + Hauteur / 2); tailleLutin (LutinVie, &Largeur, &Hauteur); afficherLutin (LutinVie, TailleX / 2 - Largeur / 2, TailleY / 2 - Hauteur / 2); } void pageGameOver() { static const char policeDefaut[] = "/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf"; int Largeur = 0; int Hauteur = 0; char fin[] = "GAME OVER"; choisirPolice(policeDefaut, TailleX / 10); int LutinFin = lutinTexte(fin, COULEUR_ROUGE); rectanglePlein (0, 0, TailleX, TailleY, COULEUR_NOIR); tailleLutin (LutinFin, &Largeur, &Hauteur); afficherLutin (LutinFin, TailleX / 2 - Largeur / 2, TailleY / 2 - Hauteur / 2); }