Wednesday, 9 July 2008

Package And Class Info



My chosen development method is 'keep coding until something sticks', so my source code is currently a big mess even though the application doesn't do a lot yet. I have written absolutely no documentation for the program (unless, of course, this post counts).

I've divided the program into four packages. The main package is called LexDanceDance which contains everything else. The only class inside the package is the main class which starts the program.

The first package inside LexDanceDance is called ‘Objects’. This package contains classes that represent on screen objects. At the moment there are three classes in the package. The first is 'ScreenItem' which holds all the basic information about screen items (such as their screen position). ScreenItem is a abstract class (even though I've left the construction methods as public not protected - which is stupid).

I have two other classes. One is used to represent text on screen and it's called 'TextItem'. The final class is going to be used to represent a menu but it is not finished yet. This class is called 'OptionListItem'.

The second package is called 'controller'. It will contain all the classes that deal with the input devices. At the moment it only contains one class called 'KeyboardControlClass' and it deals with keyboard input, obviously.

The final package is called ‘Graphics’ and deals with all the on-screen stuff. There are two classes here. The first is called ‘screen’ (which actually doesn't do anything and will be removed eventually); the second, and last, class is called ‘DancePanel’ which overwrites the JPanel class and deals with all the on-screen stuff.

While it does not appear that I have got very far I believe I have reached a point where I can start to play with harder stuff. My first challenge is to get full-screen mode working. After this I intend to set up a double-buffer and then I can start on getting the dance mat input working.

No comments: