Sharky's Home Page
Dart Tournaments
Dart League
Pool League
Join our email list to stay informed.
Frequently Asked Questions

Sharky's Calendar

 

Email Stephen
    darts@whitis.com

 
Sharky's FAQ



What is a FAQ?
A list of Frequently Asked Questions. (And answers.)

How much is your Mystery Out?
Click here.

How much is your bulls pot?
Click here.

What is the bulls pot?
Click here.

How much is your Dream Out?
Click here.

What is the Dream Out?
Click here.

When is your next monthly tournament?
Click here.

When is your next quarterly tournament?
Click here.

How do you do the Modified Draw?
Click Here.

Who won last Saturday Night?
Winners for the past two weeks, and for the most recent monthly and Quarterly tournaments..

What is the Dart Thang? Where do I find stats for the Dart Thang?
Click Here.

When is Sharky's next Anniversary Tournament?
Click Here.

What do you mean by Bulls Choice?
In most tournaments, you play a combination of 501 and cricket. Both teams will throw one dart at the bull, and the closest to the bull will get to start the game. In some cases, the winner of the bull gets to choose whether to play 501 or cricket. That's what we call Bulls Choice.

Dartabase FAQ.

Frequently Asked Questions about the computer at Sharky's.

I use a computer and a program (called The Dartabase) to help run the tournaments, track stats, and do things like helping with the mailing list. The following questions are about the program that I use, which I call the Dartabase.

What is the Dartabase?

Sharky's dart tournaments are using a computer program to help handle the signup, the bookkeeping, and the draw. I call this program "The Dartabase". It's a work in progress. I'm using it now for the things it can already do. In time, I expect to have it help with other things, such as the brackets.

How did you write it?

The Dartabase is written using Borland Delphi 5, and currently uses the MS-Access database to store the data. In time, I may move to another database. I use the BDE (Borland Database Engine) to allow Delphi to talk to the database. That makes it fairly simple to move to another underlying database if I choose to do so. MS-Access, however, has a number of advantages, such as making it easy for a non-programmer to write queries and reports.

Borland is the company that used to make Turbo Pascal, which was the most popular form of pascal back when DOS ruled the world of PC's. Delphi is their modern "windows" version, and it's my preferred development environment.

What are the advantages of using The Dartabase?

The computer can do the draw very fast. Whether you have 10 players or 100 players in the tournament, the draw happens very fast. In larger tournaments, this can save a lot of time.

Very few redraws. The Dartabase won't make a mistake in the draw, so there is far less chance of a redraw. As long as the correct names have been entered as players, the draw is always right. Forgetting to enter a player (or entering one who then decides not to play) can still cause a redraw, but the computer even helps with that.

The computer will warn the director about having an odd number of players (I try not to have an odd number of players), and about unpaid players. That makes it less likely that a mistake has been made, such as not entering a player, or not removing one who was entered and then decides not to play.

The Dartabase also helps by tracking stats, updating the website, maintaining a mailing list (postal and email) to help keep players informed, and similar things. That, of course, makes things easier on the dart director.

How does the Dartabase do the draw?

The short answer is "It simulates the way we would do it if we were drawing balls, the way we used to do." If you want more details, keep reading.

If you are a programmer and would like to see the source code, talk to me, and we'll work something out. I'm willing to show it to you at Sharky's as long as I'm not at the very beginning or end of a tournament. (I tend to be busy then.) I can also email you the source code for that section, or print it so you can read through it at your leisure. The source is fairly well commented, both to make it easy if/when I need to make changes, and to help players understand it. I've noticed that the people that ask are usually not programmers. I think that is because programers already understand that it's just a matter of coding, and nothing particularly complicated.

Here's a fairly detailed explanation.

When players sign up, they are given a player number, just like if we were writing their names on paper next to a column showing 1, 2, 3, etc. It's common to sign up a player, and then have them change their mind and drop out of the tournament, so some numbers don't have players attached when the tournament starts. (Just like on a piece of paper - if you scratch out their name, you no longer have a player in that spot.)

When it's time to start the game, the computer creates a list of players, in order by their player number, in memory. It assigns each player a team number of zero, until they are added to a team. It also creates another list in memory, to store the "numbers". (ie, the pool pills or balls used in a manual draw.) It fills in the "numbers" list with two of each number until it's "full". (ie one pool-pill per player.) That means it starts with "1,1,2,2,3,3,4,4,5,5" etc.

So, you've got a list of players (just like on paper) and a list of numbers (representing the pool pills/balls/numbers in the bucket if you were doing this the old fashioned way.) The next thing we need to do is to mix up the pool pills in the bucket. The program goes through a loop, 1000 times, where it picks two random numbers in the >= 1 to <=NumPlayers range. I'll call them RndNum1 and RndNum2. Each time, the pool-pill stored in the numbers list position RndNum1, and the pool-pill stored in the numbers list position RndNum2 are swapped.

For example, lets say RndNum1 is 8, and RndNum2 is 3. Using the 10 player example "1,1,2,2,3,3,4,4,5,5", the pool-pill in position 8 (RndNum1) is the second 4. The pool-pill in position 3 is the first 2. So, after we swap these two, our list looks like this. "1,1,4,2,3,3,4,2,5,5". That's one (of 1000) iterations.

In our next iteration, let's assume RndNum1 ends up being 7, and RndNum2 ends up being a 5. After the swap, our numbers list looks like this. "1,1,4,2,4,3,3,2,5,5".

Once we do that another 998 times, that list is well mixed.

So, we've got a list of players, and a list of numbers. We take the number stored in position 1, and assign the first player to that team number. Then we take the next number (ie, from position 2), and assign the next player to that team number. We continue that right down the list.

As I said, it's just a simulation of the manual system of drawing partners.

Does the Dartabase handle The Circuit's "modified draw"?

The Dartabase can also handle the modified draw used by The Circuit. (Sharky's is also using the modified draw system now, which ensures that women do not draw women partners.) Like the standard blind draw, the computer just simulates the steps that would be done if we were manually drawing partners. In the case of The Circuit's modified draw, that means assigning each woman to a team first, making sure that women don't draw women, and then using a straight blind draw for the men. If we have more women than men, the same thing happens, but men will not be partnered with men. The Dartabase is smart enough to figure that out, though it isn't likely to happen.

Misc rumors

I've heard a number of rumors from time to time. Most are from players who believe that their name, somehow, has an effect on who their partner is. Trust me - it doesn't. The computer doesn't care - it's just doing it's job.

I've been a programmer for over 20 years, and drawing partners in a pure random fashion is not a complicated thing to do. Any programmer could easily design a system to do a blind draw.

Could the dart director rig the draw?

It would be much more difficult for a dart director using the Dartabase to rig a draw. If a dart director wants that ability, they'll find many more options by doing a manual draw. Using The Dartabase to draw also cuts down on human error that can lead to a redraw, as well as saving time. This is the fairest way I know of to handle a draw.

Can you sell the program to other dart bars?

Yes, eventually. Maybe. I've still got a lot to do before I'm ready to market it, but I would like to find a way to do something along those lines. If you're a pub-owner or dart director who is interested, email me, and we'll talk. When I do market it, I probably won't limit to dart tournaments. Many types of tournaments and organizations can benefit from the tools I've put together, so it will likely branch out.

Who wrote it?

I did. My name is Stephen Whitis, and I've been running dart tournaments and helping Sharky's promote darts. I'm good with computers (my background is as a programmer), and I wanted a system to make it easy to run the tournaments, track the mailing list, keep stats, etc, so I've been writing my own.

You can find my personal website at www.whitis.com.