Merge pull request #6 from BU-CS673/graphics

Initial structure for graphics subsystem, and basic prototyping of several basic game classes.
Added libgdx libraries and Updated graphics system

Continued implementation of abstract base class Sprite, as well as the
concrete TankSprite class.
Merge pull request #10 from BU-CS673/graphics

Added libgdx libraries and Updated graphics system
Added libgdx libraries to the classpath

Also linked the online javadocs to the library.
Continued implementing Sprites

- Implemented the Sprite.create factory method
- Created the Graphics class, as well as the Graphics.getTexture(path)
static method (for ensuring that the same texture isn't stored multiple
times)
Added tank.png (temp sprite), added comments

- Added comments to Graphics
- TankSprite now loads the tank.png image via the Graphics class
Continued implementing Sprite and TankSprite

- Added additional functionality to the Sprite abstract base class
- Implemented the draw method in TankSprite, and moved shared code to a
new TankSprite.drawTexture() method
- Added Coordinates class (package-private to graphics), which contains
two helper methods for converting between world and camera coordinates.
Added graphics tests; Fixed issues uncovered by tests

- Added tests for Coordinates, Sprite.create() and TankSprite
- Fixed problems in Coordinates and TankSprite
- Changed images folder to textures
- Added dummy return value for entity.getX() and entity.getY().
Initially, I had used NotImplementedExceptions, but this reduced the
testability of the graphics code.
Fixed issues w/ having multiple graphics testers

Previously, the unit tests may fail because multiple OpenGL contexts
could be created when multiple groups of tests were run at once. This
has now been fixed.
Changed Sprite.create from generic method to overloaded

- Changed Sprite.create from generic method to overloaded method. This
is because I was not able to eliminate a warning with the generic
version (unchecked class cast, despite checking the class before
performing the cast). This seems to be related to generics limitations
(specifically, type erasure). Going forward, Sprite.create() will be
implemented as a set of overloaded methods.
- Added a test for Sprite.create()
Merge pull request #11 from BU-CS673/Canfield
Added javadoc comment to Graphics.dispose() method
Created Damageable interface.
Merge pull request #12 from BU-CS673/graphics

Graphics - Many graphics system updates; added libgdx libraries; added temp tank texture
First mockups of basic game classes (Entity, Terrain, etc.). No unit
tests yet.
Fixed merge conflicts with changes to DrawableEntities.
Added Drawable interface, templates for Grass, Road, and Tree classes,
and outlined many Entity methods.
Created DummyEntity class for Entity unit testing to avoid OpenGL
conflicts. Added unit tests for Entity class.
Fixed bug in Tank constructor, rewrote Tank tests to include texture
loading.
Added javadoc comments to many Entity and subclass methods.