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