diff options
author | Pacien TRAN-GIRARD | 2015-11-24 14:28:26 +0100 |
---|---|---|
committer | Pacien TRAN-GIRARD | 2015-11-24 14:28:26 +0100 |
commit | e2354d82e09c3bf8ae472d174332670d2d12f9bb (patch) | |
tree | 92528b9231178fd47c6910163360413d4ae77256 /src/ch/epfl/maze/physical/Prey.java | |
parent | 5f9be99e7ebd4a90e666e6efbe9e9d4b3b8008e7 (diff) | |
download | maze-solver-e2354d82e09c3bf8ae472d174332670d2d12f9bb.tar.gz |
Use Set instead of array for Direction choices
Diffstat (limited to 'src/ch/epfl/maze/physical/Prey.java')
-rw-r--r-- | src/ch/epfl/maze/physical/Prey.java | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/src/ch/epfl/maze/physical/Prey.java b/src/ch/epfl/maze/physical/Prey.java index 26fe92b..3654807 100644 --- a/src/ch/epfl/maze/physical/Prey.java +++ b/src/ch/epfl/maze/physical/Prey.java | |||
@@ -3,6 +3,10 @@ package ch.epfl.maze.physical; | |||
3 | import ch.epfl.maze.util.Direction; | 3 | import ch.epfl.maze.util.Direction; |
4 | import ch.epfl.maze.util.Vector2D; | 4 | import ch.epfl.maze.util.Vector2D; |
5 | 5 | ||
6 | import java.util.Arrays; | ||
7 | import java.util.EnumSet; | ||
8 | import java.util.Set; | ||
9 | |||
6 | /** | 10 | /** |
7 | * Prey that is killed by a predator when they meet each other in the labyrinth. | 11 | * Prey that is killed by a predator when they meet each other in the labyrinth. |
8 | * | 12 | * |
@@ -34,6 +38,24 @@ abstract public class Prey extends ProbabilisticAnimal { | |||
34 | * @param daedalus The world in which the animal moves | 38 | * @param daedalus The world in which the animal moves |
35 | * @return The next direction of the animal, chosen in {@code choices} | 39 | * @return The next direction of the animal, chosen in {@code choices} |
36 | */ | 40 | */ |
37 | abstract public Direction move(Direction[] choices, Daedalus daedalus); | 41 | abstract public Direction move(Set<Direction> choices, Daedalus daedalus); |
42 | |||
43 | /** | ||
44 | * Retrieves the next direction of the animal, by selecting one choice among | ||
45 | * the ones available from its position. | ||
46 | * <p> | ||
47 | * In this variation, the animal knows the world entirely. It can therefore | ||
48 | * use the position of other animals in the daedalus to evade predators more | ||
49 | * effectively. | ||
50 | * | ||
51 | * @param choices The choices left to the animal at its current position (see | ||
52 | * {@link ch.epfl.maze.physical.World#getChoices(Vector2D) | ||
53 | * World.getChoices(Vector2D)}) | ||
54 | * @param daedalus The world in which the animal moves | ||
55 | * @return The next direction of the animal, chosen in {@code choices} | ||
56 | */ | ||
57 | public final Direction move(Direction[] choices, Daedalus daedalus) { | ||
58 | return this.move(EnumSet.copyOf(Arrays.asList(choices)), daedalus); | ||
59 | } | ||
38 | 60 | ||
39 | } | 61 | } |