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);
}
|