-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathshared_variables.h
More file actions
107 lines (91 loc) · 2.3 KB
/
shared_variables.h
File metadata and controls
107 lines (91 loc) · 2.3 KB
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
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
96
97
98
99
100
101
102
103
104
105
106
107
#ifndef SHARED_VARIABLES_H
#define SHARED_VARIABLES_H
#include <vector>
#include <pthread.h>
#include <SFML/Graphics.hpp>
using namespace std;
using namespace sf;
// Define a struct to represent coordinates
struct Coordinates {
int x;
int y;
};
struct Coin {
int x, y;
Sprite sprite;
bool taken;
Coin(int i, int j, Sprite sprite1) : x(i), y(j), taken(false)
{
sprite = sprite1;
sprite.setPosition(x, y);
}
};
struct Enemy
{
int x, y;
bool pelletEaten;
Sprite sprite;
bool alive;
Enemy() : x(0), y(0), alive(true), pelletEaten(0)
{
Texture texture;
texture.loadFromFile("ghost1.jpeg");
sprite.setTexture(texture);
sprite.setPosition(x, y);
}
Enemy(int i, int j, Sprite sprite1) : x(i), y(j), alive(true)
{
sprite = sprite1;
sprite.setPosition(x, y);
}
};
struct PowerPellet
{
int x, y;
bool available;
Sprite sprite;
PowerPellet(int a=0, int b=0) : x(a), y(b), available(false)
{}
};
struct power
{
int x,y;
Sprite sprite;
bool available;
power(int a=0, int b=0) : x(a), y(b), available(false)
{}
};
// Declare shared variables for enemies, users, and walls
extern vector<pthread_mutex_t> enemymutexes;
extern vector<Enemy> enemys;
extern vector<RectangleShape> wallVector;
extern vector<Coin> coins;
extern pthread_mutex_t usermutex;
extern pthread_mutex_t usermutex2;
extern pthread_mutex_t enemymutex1;
extern pthread_mutex_t pelletmutex;
extern pthread_mutex_t pelletmutex1;
extern pthread_mutex_t keyMutex1;
extern pthread_mutex_t permitMutex2;
extern pthread_mutex_t keyMutex2;
extern pthread_mutex_t permitMutex2;
extern pthread_mutex_t diners;
extern pthread_mutex_t diners1;
extern pthread_mutex_t pwermutex;
extern Coordinates userCoordinates;
extern char userDirection;
extern bool gamerunning;
extern int score;
extern int count1;
extern int lives;
extern int counts;
extern PowerPellet powerPellet;
extern PowerPellet powerPellet1;
extern power pwer;
extern power pwer1;
extern bool pwerTaken;
extern Texture coinTexture;
extern Sprite pacmanSprite;
// shared function
bool isCollisionWithWall(int x, int y, const Sprite& sprite);
#endif