When we develop applications we usually have a set of requirements that we need to develop towards. With that in mind, let's define the requirements for the animal types that we will be creating in this chapter:
We will have three categories of animal: sea, land, and air.
Animals may be members of multiple categories. For example an alligator can be a member of both the land and sea categories.
Animals may be able to attack and/or move when they are on a tile that matches the categories they are in.
Animals will start off with a certain number of hit points and if those hit points reach 0 or less then they will die.
For our example here we will define two animals (
Lion
andAlligator
) but we know that the number of animal types will grow as we develop the game.
We will start off by looking at how we would design our animal types with an object-oriented approach.