Blame view

Main/init.c 3.5 KB
590ac30b   Martin CHAUVELIERE   Debut Collision
1
2
3
4
  #include <stdio.h>
  #include <stdlib.h>
  #include "../Graphique/libgraph.h"
  #include "../ListeC/Liste.h"
0cc8564c   Martin CHAUVELIERE   Fin des colisions...
5
  #include "../Interactif/Interactif.h"
590ac30b   Martin CHAUVELIERE   Debut Collision
6
7
8
9
  #include "init.h"
  
  #define TailleX 500
  #define TailleY 500
4d73f71e   Martin CHAUVELIERE   Principal du jeu ...
10
  #define Sol 475
3ab4f73a   Martin CHAUVELIERE   Amelioration Coll...
11
12
13
14
  #define ErreurHitbox 2
  #define JoueurX TailleX/2
  #define JoueurY 9*TailleY/10
      
4d73f71e   Martin CHAUVELIERE   Principal du jeu ...
15
  struct entite joueur;
3ab4f73a   Martin CHAUVELIERE   Amelioration Coll...
16
17
18
19
20
21
  
  int canon=0;
  int missile=0;
  int sbire=0;
  int bouillie=0;
  int bombe=0;
590ac30b   Martin CHAUVELIERE   Debut Collision
22
  
0cc8564c   Martin CHAUVELIERE   Fin des colisions...
23
  char Nom[15]="Space Invader";
590ac30b   Martin CHAUVELIERE   Debut Collision
24
25
  char input='\0';
  
3ab4f73a   Martin CHAUVELIERE   Amelioration Coll...
26
27
28
29
30
31
32
33
34
35
  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;
590ac30b   Martin CHAUVELIERE   Debut Collision
36
  
0cc8564c   Martin CHAUVELIERE   Fin des colisions...
37
38
  
  
590ac30b   Martin CHAUVELIERE   Debut Collision
39
40
41
42
43
44
  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);
3ab4f73a   Martin CHAUVELIERE   Amelioration Coll...
45
      bombe = chargerLutin("../../Lutins/invader_bombe.bmp",COULEUR_NOIR);
590ac30b   Martin CHAUVELIERE   Debut Collision
46
      
66b129e5   Martin CHAUVELIERE   Collisions Sbires...
47
48
49
50
      tailleLutin(canon,&hitboxcanonL,&hitboxcanonH);
      tailleLutin(missile,&hitboxmissileL,&hitboxmissileH);
      tailleLutin(sbire,&hitboxsbireL,&hitboxsbireH);
      tailleLutin(bouillie,&hitboxbouillieL,&hitboxbouillieH);
3ab4f73a   Martin CHAUVELIERE   Amelioration Coll...
51
      tailleLutin(bombe,&hitboxbombeL,&hitboxbombeH);
590ac30b   Martin CHAUVELIERE   Debut Collision
52
  
590ac30b   Martin CHAUVELIERE   Debut Collision
53
54
  }
  
4d73f71e   Martin CHAUVELIERE   Principal du jeu ...
55
56
57
58
59
60
61
62
  void initialiserjoueur(struct entite* joueur)
  {
      joueur->posx = JoueurX;
      joueur->posy = JoueurY;
      joueur->dropbombe = -1;
  }
  
  
0cc8564c   Martin CHAUVELIERE   Fin des colisions...
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
  
  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;
  }
4d73f71e   Martin CHAUVELIERE   Principal du jeu ...
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
  
  
  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);
      
  }