-
Notifications
You must be signed in to change notification settings - Fork 1
/
Fonctions.pde
136 lines (118 loc) · 3.62 KB
/
Fonctions.pde
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
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
// Fonction à l'appui d'une touche
public void keyPressed() {
// Activation/Désactivation des ennemis
if (key == 'e') {
if (ai) ai = false;
else ai = true;
}
// Ajouter des ennemis
else if (key == '+') {
aiplayers.add(new AIPlayer());
}
// Retirer des ennemis
else if (key == '-') {
if (aiplayers.size() > 0) aiplayers.remove(aiplayers.size() - 1);
}
// Faire réapparaître les murs
else if (key == 'a') {
labyrinthe.resetAlpha();
}
// Faire apparaître/Disparaître les points tracés par le joueur
else if (key == 'p') {
if (point) point = false;
else point = true;
}
// Gérer la musique
else if (key == 'm') {
if (musicIsPlaying) {
music.stop();
musicIsPlaying = false;
} else {
music.loop();
musicIsPlaying = true;
}
}
else if (key == CODED) {
// Fonctions de déplacement du joueur
player.move(keyCode);
if (keyCode == CONTROL) {
//afficherTableau(matrice, nbCase * nbCase);
afficherTableau(grille, nbCase);
}
}
}
// Fonction au clic de souris
public void mousePressed() {
if(overPlayer) {
moving = true;
}
}
// Fonction au relachement du clic
public void mouseReleased() {
moving = false;
}
// Fonction qui fait passer le jeu au niveau supérieur
public void levelUp() {
timer = millis() - start; //On récupère le temps du joueur à ce niveau
int sec = timer / 1000;
int ms = timer % 1000;
if (sec > 60) { // S'il a fait plus d'une minute, on a un affichage différent
int min = sec / 60;
sec = sec % 60;
println("Vous avez passé le niveau " + (niveau) + " en " + min + " minute(s) et " + sec + "," + ms + " seconde(s).");
} else {
println("Bravo, vous avez passé le niveau " + (niveau) + " en " + sec + "," + ms + " seconde(s).");
}
// Crée le score du joueur et l'ajoute
Score score = new Score(niveau,timer,name);
saveJSONArray(scores, "data/scores.json");
niveau++; //La fonction ne s'appelle pas level Up pour rien !
//Le nombre de case augmente d'un
nbCase++;
// Création d'un nouveau Labyrtinthe
labyrinthe = new Labyrinthe();
// Repositionnement du joueur et des IAs
player.repositionne(0, 0);
for (int i = 0; i < aiplayers.size(); i++) {
AIPlayer aiPlayer = aiplayers.get(i);
aiPlayer.randomPosition();
}
// Création d'une nouvelle IA au niveau 4 puis au 6 puis au 8 et à tous les niveaux
if (niveau % 4 == 0) {
aiplayers.add(new AIPlayer());
}
start = millis();
}
// Fonction appelée si le joueur se fait touché par l'une des IAs
public void gameOver() {
timer = millis() - start; //On récupère le temps du joueur
int sec = timer / 1000;
int ms = timer % 1000;
if (sec > 60) { // S'il a fait plus d'une minute, on a un affichage différent
int min = sec / 60;
sec = sec % 60;
println("Oups ! Vous vous êtes fait mangé par une IA au bout de " + min + " minute(s) et " + sec + "," + ms + " seconde(s).");
} else {
println("Aie ! Vous vous êtes fait mangé par une IA au bout de " + sec + "," + ms + " seconde(s).");
}
//Le nombre de case revient à 2 et le niveau est à 1
nbCase = 2;
niveau = 1;
// Création d'un nouveau Labyrtinthe
labyrinthe = new Labyrinthe();
// Repositionnement du joueur et des IAs
player.repositionne(0, 0);
//On vide la liste des IAs
aiplayers.clear();
//On redémarre le compteur
start = millis();
}
//Affiche les valeurs contenus dans un tableau à 2 dimensions
void afficherTableau(int[][] array, int size) {
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
print(array[i][j] + " | ");
}
println();
}
}