-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRobot.java
More file actions
130 lines (115 loc) · 3.56 KB
/
Robot.java
File metadata and controls
130 lines (115 loc) · 3.56 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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/**
* La classe Robot représente un robot dans l'environnement de jeu.
* Le robot possède un nom, une position (représentée par un objet Point), un nombre de clés collectées,
* un indicateur indiquant s'il possède un téléporteur et un indicateur indiquant s'il a trouvé un chaton.
*/
public class Robot {
private String robotName;
private Point robotPos;
private int clesCollectees;
private boolean hasTeleporteur;
private boolean hasFoundKitten;
/**
* Constructeur par défaut de la classe Robot.
* Initialise les propriétés du robot.
*
* @param robotName Le nom du robot.
* @param robotPos La position initiale du robot, représentée par un objet Point.
*/
public Robot(String robotName, Point robotPos) {
this.robotName = robotName;
this.robotPos = robotPos;
this.clesCollectees = 0;
this.hasTeleporteur = false;
this.hasFoundKitten = false;
}
/**
* Récupère le nom du robot.
*
* @return Le nom du robot.
*/
public String getRobotName() {
return this.robotName;
}
/**
* Récupère le nombre de clés collectées par le robot.
*
* @return Le nombre de clés collectées par le robot.
*/
public int getClesCollectees() {
return this.clesCollectees;
}
/**
* Récupère la position actuelle du robot.
*
* @return La position actuelle du robot, représentée par un objet Point.
*/
public Point getRobotPos() {
return this.robotPos;
}
/**
* Vérifie si le robot possède un téléporteur.
*
* @return true si le robot possède un téléporteur, false sinon.
*/
public boolean getHasTeleporteur() {
return this.hasTeleporteur;
}
/**
* Vérifie si le robot a trouvé le chaton.
*
* @return true si le robot a trouvé le chaton, false sinon.
*/
public boolean getHasFoundKitten() {
return this.hasFoundKitten;
}
/**
* Incrémente le nombre de clés collectées par le robot.
*/
public void incrementerClesCollectees() {
this.clesCollectees++;
}
/**
* Décrémente le nombre de clés collectées par le robot.
*/
public void decrementerClesCollectees() {
this.clesCollectees--;
}
/**
* Met à jour l'état du téléporteur du robot.
*
* @param status Le nouvel état du téléporteur du robot.
*/
public void updateHasTeleporteur(boolean status) {
this.hasTeleporteur = status;
}
/**
* Met à jour la position du robot.
*
* @param x La nouvelle coordonnée x de la position du robot.
* @param y La nouvelle coordonnée y de la position du robot.
*/
public void updateRobotPos(int x, int y) {
this.robotPos = new Point(x, y);
}
/**
* Met à jour l'état de la découverte du chaton par le robot.
*
* @param status Le nouvel état de la découverte du chaton par le robot.
*/
public void updateHasfoundkitten(boolean status) {
this.hasFoundKitten = status;
}
/**
* Renvoie une représentation textuelle du robot.
*
* @return La représentation textuelle du robot sous la forme "nom [clesCollectees]T> ",
* où 'T' est affiché si le robot possède un téléporteur.
*/
@Override
public String toString() {
String representation = this.robotName + " [" + this.clesCollectees + "]";
if (this.hasTeleporteur) representation += 'T';
return representation + "> ";
}
}