It wasn't me, but back in 2007 an engineer here at Unitech Research came up with a brilliant new way to score darts. We have a magnetic dartboard here and we used to play tournaments late each Friday (for a few months). We played by the normal rules until the idea of 'stealing' came up. What a great concept! It's truly great because it makes the yells twice as loud. By adopting this new scoring system, we managed to obtain a 5 cubical radius of influence over Unitech engineers. This doubled our audience because no one could get any work done with all the yelling going on.

How can 'stealing' possibly double the yelling volume? When a good throw is made, the tosser yells, "YES!" as always. But the person he just stole all the points from simultaneously yells, "NOOOOOOOOOoooooooooo!". Twice the yellers, twice the volume.

We originally used a white board to keep track of everyone's throws, but I needed to learn Swing (a GUI interface for Java) for an upcoming project. I learn best by doing, so I spent a few weekends writing a little Java Swing app that keeps track of the scores. I never polished it because my real project started and there was no time or need for it

It was designed to run on a two monitor system, one monitor shows the scores and the other shows a rendering of the board.

This screen shot was taken at the end of round 2. Glen just stole 60 points from Jim and the crowd went nuts. In the previous turn Jim stole 40 points from Linda. The interface is not very good, but it's fast. One of us sat at the computer and clicked on the board where the real dart landed. Left click goes to the next player (in the other window left click returns to the tree view).

I wrote this to get used to Swing, JTable and JTree. I apologize about the human interface. I needed practice selecting a tree view item and models. If you actually try darts.jar, click on an item in the tree view first, then a button. The "Add" button will create a new child under the selected node in the tree. The root node contains all tournaments. A tournament contains games. A game contains players and a player contains dart throws. To start a new game, click on a tournament and press "Add".  Then add players the same way. Click on the game and press "Play" and the dart board will pop up. Hope you have half as much fun as we have with this.

darts.jar

Source code