Merge pull request #6 from drBradley/world-loader

World loader
Move abstractions into submodule `general`

general/__init__.py

    Exports all the names in the `general` package.

entity.py -> general/entity.py
event.py -> general/event.py
tile.py -> general/tile.py
world.py -> general/world.py
world_loader.py -> general/world_loader.py

    Moved into the `general` package.
Started implementing the renderer

src/render.py

    An un-finished, non-working SDLRenderer class.

src/general/entity.py

    The `start_state` argument of the Entity initialiser has a default
    empty string value *no more*.

src/general/world.py
src/general/world_loader.py

    Added support for storing the map's size in the World (the
    information should prove useful to renderers),
A dead-simple tile renderer

src/render.py

    The class has been dumbed down -- only what is required to render
    the tiles as black squares on a white background is present.

src/general/world.py
src/general/world_loader.py

    Fixed some errors, related to argument ordering and tile positions.

src/level.yaml

    Kept only two kinds of tiles: rocks and empty (`none`) tiles.

    Also, re-designed the level layout.
Added PyGame to the dependency list in README.md
Made two files accept paths to level files when run as scripts

src/render.py

    When run as a script renders the level specified as a command line
    argument.

src/general/world_loader.py

    When run as a script, writes out the tile kinds of the tiles in the
    level specified as a commit line argument.

    Also, fixed the order in which rows are written out on screen.
Made the renderer use images loaded from an asset directory

assets/tiles/none.png
assets/tiles/rock.png

    Bare-bones tile images.

src/general/world.py

    Made `World.tile_at` take two arguments: `x` and `y`, instead of an
    `(x, y)` tuple.

src/render.py

    Displays tiles using images loaded from the assets folder. Only
    works when run from the repository's root.
Merge pull request #7 from drBradley/generalise

Move abstractions into submodule `general`
Removed outdated level file
Merge pull request #8 from drBradley/tile-render

Tile render
Added tile scaling to the renderer

src/render.py

    Made the renderer utilise a simple scaling mechanism for the tiles
    -- whatever the screen resolution, 20 rows of tiles will fit
    onto it.

    Also, added a mechanism to clear some caches when the renderer is
    fed with a new (read: different than the one it was fed last time)
    world.
Merge pull request #9 from drBradley/tile-render

Added tile scaling to the renderer
Some refactoring and a new package (`quantee`)

src/level.yaml -> assets/level.yaml

    Assets shall reside amongst others of their own kind.

src/__init__.py

    Made the source root a package.

src/general/entity.py

    Added displacement information as properties `move`, `dx` and `dy`.

src/quantee/__init__.py

    Package `quantee` created.

src/render.py -> src/quantee/render.py

    Renderer moved to the `quantee` package.

src/quantee/entity.py

    Created `QEntity` -- the base class for entities in Quantee.
Merge pull request #12 from drBradley/entity-rework

Some refactoring and a new package (`quantee`)
Fixed the docstring on general.World

src/general/world.py

    Added initialiser arguments present in the code but not in the
    docstring. Also desrcibed all of them.
First implementation of Entity loading

assets/level.yaml

    Added an entities field (currently containing an empty list).

src/general/world_loader.py

    Restructured the code into separate functions for parts of the level
    loading process, including the new feature of loading Entities.

    It doesn't break in the trivial case of having no Entities to load.