The Dart Framework is a package of classes and interfaces that can be used to create a complex and very detailed dart application.
Its architecture and default components are kept simple but powerful, so anyone can derive from those and implement its own version of a dart game.
If you want to be notified of a new release, drop me an email with DARTFRAMEWORK as a subject. You will then receive announcement-emails about new releases and ongoing work!
My vision of this DartFramework is, to have a stable and well designed framework, so that one can build and design its own Dart application. By designing interfaces for devices, games, players, statistics etc. it should be possible to have a wide range of implementations for each component.
Following a list of components and their (planned) features
| Component | Feature |
|---|---|
| GameEngine | The main control unit of the dart framework. This can be a local application, a servlet, a J2ME application... |
| Game | Realizations of many, many different dart games. Allow to easily design your own game |
| InputDevice | From where the informations about a shot are obtained. For the prototype, this will be a graphical application (Swing), where one can enter the shots by clicking on a virtual dart board. Further implementations could realize a connection to a dart machine, an optical image recognition device, the internet, ... |
| OutputDevice | The output of game standings, scores, statistics, etc. In the prototype this will be a graphical output (Swing). Other implementations could realize a connection to a real led-output, publishing a webpage, etc. |
| EngineDevice | The input device for user interaction to control a game (start-stop buttons, enter new player, select game to play). Prototype will be a Swing application. Other implementations could realize a connection to a real mechanical device. |
| Player | Implementation of several partizipants in a game. Standard implementation is a local human player. Other implementations could realize a computer player for training, a network player, a persistant player to store statistics, etc. |
| Statistics | Have a component to gather statistics about a game, a player, etc. This components will be able to store and retrieve several statistics for later data mining. Several implementations will be based on database connectivity, local file system, etc. |