Set up packages for the entities and graphics, and created some basic
classes for entities matching our diagrams and relying on classes for
each separate item. The Test class is used to test and show how the
inheritance for items is working.
Example of how a database method would work, as well as how a Decorator
class would make the special foods possible. Also properly moved the
graphics files into the package. The format of the item data is
definitely not permanent, I'd suggest a comma delimited list instead,
and the input parser is hacky, but it should get the idea across.
Changed input file to CSV with headers, and updated input reading code
to reflect this. A general kind of CSV reader with passed in headers to
check would probably be a good idea, since the format will be the same
across the different kinds of items as well as monsters.
Expanded the test to include rudimentary player interaction in the
console. The Tile class is just the basics of what the Entities package
needs to handle picking up/dropping, and the inventory needs to be
stored a better way. Handles picking up, dropping, eating, and throwing
(though the item doesn't land since there's only one tile).
Updated tile references in the char reactor to refer to the tile through
the player's location, more accurately reflecting how it would work in
the game. Also added commands to look at the inventory and ground, as
well as 'h' for help to list the commands.
Added a Container class and switched the inventory and tile items to use
this container. Started adding a Stack class as well before realizing I
should get the Container stable first, so ignore all the commented out
code.