2D RPG Design (OOD)
Your solution to this
assignment may be in the form of narrative (describing the behaviors and
attributes) or more code-based definition of classes (with constructors,
attributes, methods, etc.). The goal is to as accurately as possible
define the system to enable the following basic functionality (though you may do
more):
- Store information about the player character/avatar including health,
items/inventory, and attack/defense statistics. Multiple
classes/races/professions are not required, but a good design should
accommodate character customization easily.
- Map information. Locations should be passable and impassible,
contain items, contain monsters, possibly warp to other locations, etc.
- Monsters. They should have behaviors such as aggressive and
defensive, movement, etc.
- Items
- Containers (bags, packs, etc.)
- Non-player characters that the user/player can talk to.
Conversation threads and interaction should be supported.
Be as detailed as possible so that you can easily implement this design later
as the semester progresses. Also remember that you should use good
object-oriented design principles like inheritance and polymorphism in your
solution to this assignment.