Home

> 4D Maze Game

> Download
     |
  The Idea
  In the Maze
  Notes
  Reference

  Other Files
     |
  Notes on Java
> Notes on Files

Notes on Files

The organization of the archive form is straightforward. At the top level there's a single directory maze. Underneath that are three subdirectories. The directory src contains the source code, the directory out contains the object code, and the directory doc contains the documentation … in the form of copies of these web pages.

For the documentation, the file index.html is the preferred starting point, although of course you can get to any page from any other.

The executable form is a simple rearrangement of the archive form. The top level contains the object code and has src and doc as immediate subdirectories.

The only other thing I want to talk about is property files. If you look in the source directory, you'll find two files of type properties. They aren't source code, exactly, but they are source material. If you're rebuilding the game from scratch, you should just copy them to the output directory unchanged.

The first property file, AppData.properties, is the game's resource bundle. The nifty thing about resource bundles is that they can be localized. If you wanted to translate the game into, say, German, all you'd need to do is make a new file AppData_de.properties and drop it into the output directory.

The second property file, default.properties, contains the default values for all the options.

There's a third property file, current.properties, that the game creates when it runs. It contains the current values for all the options, plus a few other things that it's helpful for the game to remember, like the window size. The file will be created in the working directory, so if you've run the game from the command line, it'll be right there, but if you've run the game by clicking or double-clicking, who knows where it'll be. Sorry!

If the game can't find current.properties when it starts, it'll use the default values for the options and also bring up the welcome screen.