-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathputPacman.c
57 lines (53 loc) · 1.66 KB
/
putPacman.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
#include "pacman.h"
void putPacman(t_pacman *pacman)
{
extern int map[H][W];
if (map[pacman->pac.y + pacman->pacMove.y][pacman->pac.x + pacman->pacMove.x] != 2)
{
map[pacman->pac.y][pacman->pac.x] = 0;
pacman->pac.x += pacman->pacMove.x;
pacman->pac.y += pacman->pacMove.y;
if(pacman->pac.x == 0 && pacman->pac.y == 10)
pacman->pac = (t_pos){18, 10};
else if(pacman->pac.x == 18 && pacman->pac.y == 10)
pacman->pac = (t_pos){0, 10};
if (map[pacman->pac.y][pacman->pac.x] == 1)
pacman->score += 10;
else if (map[pacman->pac.y][pacman->pac.x] == 4)
{
pacman->score += 50;
pacman->eat = 28;
}
else if (map[pacman->pac.y][pacman->pac.x] == 5 && pacman->eat != 0)
{
pacman->red.ghostMapPreviousValue = 0;
pacman->red.ghostPos = (t_pos){9, 10};
pacman->red.ghostMove = (t_pos){0, 0};
pacman->score += 200;
}
else if (map[pacman->pac.y][pacman->pac.x] == 6 && pacman->eat != 0)
{
pacman->blue.ghostPos = (t_pos){1, 4};
pacman->blue.ghostMapPreviousValue = (map[4][1] == 1) ? 1 : 0;
pacman->blue.ghostMove = (t_pos){0, 0};
pacman->score += 200;
}
else if (map[pacman->pac.y][pacman->pac.x] == 7 && pacman->eat != 0)
{
pacman->pink.ghostMapPreviousValue = (map[4][16] == 1) ? 1 : 0;
pacman->pink.ghostPos = (t_pos){16, 4};
pacman->pink.ghostMove = (t_pos){0, 0};
pacman->score += 200;
}
else if (map[pacman->pac.y][pacman->pac.x] == 8 && pacman->eat != 0)
{
pacman->yellow.ghostMapPreviousValue = 0;
pacman->yellow.ghostPos = (t_pos){10, 10};
pacman->yellow.ghostMove = (t_pos){0, 0};
pacman->score += 200;
}
map[pacman->pac.y][pacman->pac.x] = 3;
}
if (pacman->eat != 0)
pacman->eat--;
}