summaryrefslogtreecommitdiff
path: root/src/ch/epfl/maze/physical/Daedalus.java
blob: 2edad7b3a34d12cec02975858c589ff987938add (plain)
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
package ch.epfl.maze.physical;

import java.util.ArrayList;
import java.util.List;

/**
 * Daedalus in which predators hunt preys. Once a prey has been caught by a
 * predator, it will be removed from the daedalus.
 */

public final class Daedalus extends World {

    /**
     * Constructs a Daedalus with a labyrinth structure
     *
     * @param labyrinth Structure of the labyrinth, an NxM array of tiles
     */

    public Daedalus(int[][] labyrinth) {
        super(labyrinth);
        // TODO
    }

    @Override
    public boolean isSolved() {
        // TODO
        return false;
    }

    /**
     * Adds a predator to the daedalus.
     *
     * @param p The predator to add
     */

    public void addPredator(Predator p) {
        // TODO
    }

    /**
     * Adds a prey to the daedalus.
     *
     * @param p The prey to add
     */

    public void addPrey(Prey p) {
        // TODO
    }

    /**
     * Removes a predator from the daedalus.
     *
     * @param p The predator to remove
     */

    public void removePredator(Predator p) {
        // TODO
    }

    /**
     * Removes a prey from the daedalus.
     *
     * @param p The prey to remove
     */

    public void removePrey(Prey p) {
        // TODO
    }

    @Override
    public List<Animal> getAnimals() {
        // TODO
        return null;
    }

    /**
     * Returns a copy of the list of all current predators in the daedalus.
     *
     * @return A list of all predators in the daedalus
     */

    public List<Predator> getPredators() {
        // TODO
        return new ArrayList<Predator>();
    }

    /**
     * Returns a copy of the list of all current preys in the daedalus.
     *
     * @return A list of all preys in the daedalus
     */

    public List<Prey> getPreys() {
        // TODO
        return new ArrayList<Prey>();
    }

    /**
     * Determines if the daedalus contains a predator.
     *
     * @param p The predator in question
     * @return <b>true</b> if the predator belongs to the world, <b>false</b>
     * otherwise.
     */

    public boolean hasPredator(Predator p) {
        // TODO
        return false;
    }

    /**
     * Determines if the daedalus contains a prey.
     *
     * @param p The prey in question
     * @return <b>true</b> if the prey belongs to the world, <b>false</b>
     * otherwise.
     */

    public boolean hasPrey(Prey p) {
        // TODO
        return false;
    }

    @Override
    public void reset() {
        // TODO
    }
}