diff options
Diffstat (limited to 'README')
-rw-r--r-- | README | 65 |
1 files changed, 65 insertions, 0 deletions
@@ -0,0 +1,65 @@ | |||
1 | CS-107 - Project 2: Maze | ||
2 | ======================== | ||
3 | |||
4 | My JAVAmazing Maze. | ||
5 | |||
6 | |||
7 | Maze and Daedalus entities implementation | ||
8 | ----------------------------------------- | ||
9 | |||
10 | ### Use of Sets | ||
11 | |||
12 | The choices arrays have been replaced by Sets of Direction in order to guarantee the uniqueness of each possibility and | ||
13 | directly provide common collection methods, avoiding costly systematic conversions from array to Collection and vice | ||
14 | versa. | ||
15 | |||
16 | The old methods returning and taking as parameter arrays of Direction have been kept and deprecated to keep the | ||
17 | compatibility with the provided and hidden classes and tests. | ||
18 | |||
19 | |||
20 | ### Strategies | ||
21 | |||
22 | Choices elimination and picking strategies have been implemented as "traits" (interfaces with default method in Java) | ||
23 | enabling a better modularization, avoiding code duplication between animals sharing identical behaviours pieces in their | ||
24 | decision making process. | ||
25 | |||
26 | |||
27 | ### DaedalusAware interface | ||
28 | |||
29 | Some code shared by the Predator and the Prey classes has been factored in the DaedalusAware interface as default | ||
30 | methods. | ||
31 | |||
32 | |||
33 | ### Ghosts | ||
34 | |||
35 | An intermediate Ghost class has been inserted between ghosts and the Predator class in the inheritance chain in order to | ||
36 | implement common behaviours such as the chase mode and the common prey selection and targeting. | ||
37 | |||
38 | |||
39 | ### PacMan | ||
40 | |||
41 | The strategy implemented for PacMan to live as long as possible is to simply navigating by maximizing the distance to | ||
42 | the closest Predator. | ||
43 | |||
44 | |||
45 | "Utilities" additions and modifications | ||
46 | --------------------------------------- | ||
47 | |||
48 | ### Direction | ||
49 | |||
50 | A set of the possible moving directions (excluding the NONE Direction) has been added the the Direction enum class. | ||
51 | |||
52 | |||
53 | ### Vector2D | ||
54 | |||
55 | A zero vector constructor has been added the the Vector2D class. | ||
56 | |||
57 | |||
58 | ### SimulationGenerator | ||
59 | |||
60 | The simulation generating functions have been moved from the main programs to this utility class. | ||
61 | |||
62 | |||
63 | ### Trail | ||
64 | |||
65 | A Trail class handling the Panda's marking has been added. | ||