-
Notifications
You must be signed in to change notification settings - Fork 0
/
fireballs.c
65 lines (56 loc) · 1.64 KB
/
fireballs.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include "fireballs.h"
/* fonction qui permet de créer des balles */
void creerBouleFeu(ObjetJeux * object,int indice)
{
if (jeu.nombreBouleFeu < BouleFeu_MAX)
{
bouleFeu[jeu.nombreBouleFeu].w = jeu.bouleFeu_image->w;
bouleFeu[jeu.nombreBouleFeu].h = jeu.bouleFeu_image->h;
bouleFeu[jeu.nombreBouleFeu].indice_bouleFeu=indice;
if ( object->direction == DROITE )
{
bouleFeu[jeu.nombreBouleFeu].x = object->x + 60;
bouleFeu[jeu.nombreBouleFeu].y = object->y + 100;
bouleFeu[jeu.nombreBouleFeu].direction = 1;
}
else
{
bouleFeu[jeu.nombreBouleFeu].x = object->x -1;
bouleFeu[jeu.nombreBouleFeu].y = object->y + 100;
bouleFeu[jeu.nombreBouleFeu].direction = 0;
}
jeu.nombreBouleFeu++;
}
}
/* fonction qui permet de gérer les balles */
void doBouleFeu(void)
{
int i;
for ( i = 0; i < jeu.nombreBouleFeu; i++ )
{
/* On se déplace : vers la droite */
if (bouleFeu[i].direction == 1)
{
bouleFeu[i].x += 10;
}
/* vers la gauche : */
else
{
bouleFeu[i].x -= 10;
}
if ( bouleFeu[i].x < map.startX || bouleFeu[i].x > map.startX + SCREEN_WIDTH)
{
bouleFeu[i] = bouleFeu[jeu.nombreBouleFeu-1];
jeu.nombreBouleFeu--;
}
}
}
/* fonction qui permet d'afficher les balles*/
void dessinerBouleFeu(void)
{
int i;
for ( i = 0; i < jeu.nombreBouleFeu; i++ )
{
dessinerImage(jeu.bouleFeu_image, bouleFeu[i].x - map.startX, bouleFeu[i].y - map.startY);
}
}