This file in various formats.
usscatworld.jar
This contains the USSCATWorld library. You have to tell Eclipse where to find it when setting up your Eclipse project. JavaDoc documentation can be found in the UsscatWorld-docs directory.
junit.jar
You will need this to be able to run JUnit tests. This jar file is included with latest versions of Eclipse but is supplied here to ease your task of finding it. You have to tell Eclipse where to find it when setting up your Eclipse project.
com379_gameworld.{bin,ckf}
The files containing the supplied game world and the key needed to read it.
com379_testworld.{bin,ckf}
A small game world that you can use for testing purposes.
bin
The compiled java will be put in this directory. This is managed by Eclipse and you don't have to worry about it.
UsscatWorld-docs
Javdoc's for the game world API. Go to UsscatWorld-docs/index.html for the starting point. You will need to familiarise yourself with these. You starting point should be the IOracle and ITile interfaces.
xxxxxx.com379.project1
Contains a scrap file that I used to store some common code for cutting and pasting. You can ignore this or use it as you like.
xxxxxx.com379.project1.model
Contains classes concerned with the ``model''.
Currently only has PlayerCharacter.java. You will need to extend this file to complete the assignment. You might need to define extra classes to help you do this.
xxxxxx.com379.project1.tests
Contains JUnit tests (created with the help of Eclipse) to test the visible behaviour of the classes in the model package.
AllTests.java is a test suite in JUnit parlance that can be used to run all test cases. You can regenerate this by pressing a few buttons from within Eclipse so as to include any new tests you write.
PlayerCharacterCreationTest.java and PlayerCharacterMovementTest.java are test cases I wrote to illustrate how to do it. And because I actually used them to drive my development of the PlayerCharacter class.
xxxxxx.com379.project1.ui
Contains classes concerned with allowing the user to actually play the game!
GameLauncher.java contins code to launch the game. You probably won't need to change this file (but you can if you want to). It contains the main method for the game program. You have to tell the game program where to find the game world and game key. You do this by setting two system properties. This can be done by giving some -D arguments to the java interpreter (see the discussion in UsscatWorld-docs). Or you could hard wire the values (see PlayerCharacterMovementTest.java for example) or you could read them off the command line, or out of a configuration file etc.
GameManager.java contains code to manage the interaction of the user with the game. You will need to edit and extend this file! Again you may find that you need to define extra classes to help you do so.
xxxxxx.com379.project1.utils
Contains TextIO.java written by David Eck to support his JavaNotes. I chose to use this for console based IO because of how easy it makes it. Browse it to learn the methods available.
docs
You should place any documentation you generate for your assignment in this directory.
.classpath, .project
Eclipse configuration files. Don't edit these. Make sure that they are included in your zipped submission.
3  Tasks
The GameManager class interprets command the user types at the consoles deciding on which methods to call on the player character. The GameManager will be responsible for deciding when the game has been completed and assigning a score to the player on completeion (or exit). It will at some stage need to handle saving and loading game positions (but we are not asking you to do implement that in this assignment)Currently the GameManager understands the following commands: 
c or create --- to create the PlayerCharacter.
h or help --- to get some help (not yet implemented).
q or quit --- to quit the game.
Movement commands.1/sw, 2/s, 3/se, 4/w, 6/e, 7/nw, 8/n, 9/ne.Ask the PlayerCharacter to move in the idicated direction. 
You will need to extend the command language/interpreter so as to: 
provide help
ask the PlayerCharacter to search,
ask the PlayerCharacter to describe things,
ask the PlayerCharacter to pick things up,
ask the PlayerCharacter to tell what it is carrying 
There are other things you might want as well eg for a map of where you've been to be displayed if requested. But the above list is the minimal set required.
In order to extend it as detailed above you may well have to define extra classes to help you. (Eg to handle scoring as a user discovers things in the world.)
Currently a PlayeCharacter knows it's name, it's location and the oracle to query for information about the game world. It's sole behaviour is to move in a specified direction (if ``physically'' able to -- see the implementation of moveInDir for details).
You will need to extend it with extra atributes and behaviours so that the required commands can be actioned. You may well need to define extra classes to help you do this.
4  Unit Tests
You are expect to provide tests to demonstrate that your code works correctly.
In the context of this assignment this means writing unit tests for the PlayerCharacter class public methods (possibly also for the GameManager class, and certainly for any extra classes you define), and a script to show how a user might ``win'' the game.