-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathRoom.java
74 lines (59 loc) · 1.63 KB
/
Room.java
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
import java.util.ArrayList;
import java.util.List;
import java.util.*;
public class Room {
private String name;
private Map<String, Room> exits;
private List<Enemy> enemies;
private List<Treasure> treasures;
private Trap trap;
public Room(String name) {
this.name = name;
this.exits = new HashMap<>();
this.enemies = new ArrayList<>();
this.treasures = new ArrayList<>();
this.trap = null;
}
public String getName() {
return name;
}
public Map<String, Room> getExits() {
return exits;
}
public List<Enemy> getEnemies() {
return enemies;
}
public List<Treasure> getTreasures() {
return treasures;
}
public void addEnemy(Enemy enemy) {
enemies.add(enemy);
}
public void addTreasure(Treasure treasure) {
treasures.add(treasure);
}
public boolean hasTrap() {
return trap != null;
}
public Trap getTrap() {
return trap;
}
public int activateTrap() {
if (trap != null) {
int trapDamage = trap.getDamage();
trap = null; // Desativa a armadilha após ser ativada
return trapDamage;
} else {
return 0; // Não há armadilha na sala
}
}
public void setTrap(Trap trap) {
this.trap = trap;
}
public void setExit(String direction, Room neighbor) {
exits.put(direction, neighbor);
}
public void removeEnemy(Enemy enemy) {
}
// Restante dos métodos da classe Room...
}