Graphic Farkle Contest

Farkle is a dice game that has also been called Zonk, Zilch, Wimp Out, and Hot Dice. Its origins as a folk game are unknown. Farkle is played by two or more players, with each player in succession having a turn at throwing the dice. Each player's turn results in a score, and the scores for each player accumulate until someone reaches 10,000.

The Contest Goal

Create a graphic based implementation of the game Farkle. The game should support two or more players. Ideally the game should implement some form of AI for computer players, but this is not a requirement to actually win. The winning entry will exhibit the following traits:
  1. Easy to understand game play
  2. Clean, efficient graphic user interfaces
  3. Well structured and commented code
  4. All implied features implemented – no dead-end menus or program options
  5. Sound operation – no program failures
  6. Rules and game play is well documented

The Rules

  1. Contest begins on April 3rd, 2009.
  2. Contest ends on May 15th, 2009.
  3. The Game must be implemented in a Graphic User Interface
  4. The Game must support the standard Farkle Rules (see below)
  5. The Game must allow two or more players. One or more players must be human. A game AI may be implemented for the other players but is not required to win.
  6. The Game must be fully functional – do not include hooks to unimplemented “future” features. The Game must run without errors.
  7. The entries must be written entirely in native Liberty BASIC code. No API calls will be allowed.
  8. The following features might be included:
    • High score tracking
    • GUI color choices
    • Support for sounds
    • Computer players that can play against the human player
    • Select an set of rules you like – be creative
  9. Entries must be uploaded to the WikiSpaces Liberty BASIC Site
    • on that page you can link to your uploaded ZIP archive file
    • Entries must include the BAS file
    • Entries must not include the LB runtime files
    • Entries should contain any graphics and/or sounds required to run.

The Prize

  • The winning entry will be added to the Liberty BASIC Community Wiki
  • The winner will be mentioned on the Hall of Fame on the Community Wiki contest page

The Judging
  • The submitted entries will be judged by the forum staff
  • The code readability and commenting will be checked
  • The user-friendliness and usability will be checked
  • The documentation will be checked

How to Play Farkle

Farkle is a simple dice game that is fairly similar to "Deal Or No Deal" or "Press Your Luck" in concept. Players take turns rolling dice for points. After every roll, you can either take the points you've earned so far on your turn, or you can re-roll to try to get more points. If you ever fail to score points on a roll, it's called a "farkle" and you lose all your points from that turn. The goal is to try to score 10,000 points total.

Dice are scored as follows:


Dice
Points
6 of a kind
Instant Win!
1-2-3-4-5-6
1000 secure
3 pairs
750
3 ones
1000
3 of a kind
100 x face value
ones
100 each
fives
50 each

After you score points on a roll, those dice are set aside if you decide to roll again. Dice you've rolled previously do not count on subsequent rolls, so if you roll 1-4-2-2-6-3, keep the 1, and then roll two more 1s, it does not count as three of a kind. If you end up scoring with all dice you've rolled, you can roll all six dice again. Note that the top three scoring combinations require six dice, so these combinations are rarely used.

When you score dice, you must score something, but you don't have to score all the dice that are possible to score (in case you want to roll more dice later). So, for example, if you roll 3-4-3-1-5-3, you can keep the 3 threes (for 300 points), the one (for 100 points), the five (for 50 points), or any combination of the three.

This covers the vast majority of the game. There are still a few quirks, though:

The combination 1-2-3-4-5-6 is unusual in that it scores 1000 "secure" points. These points are yours to keep, even if you farkle. The game enforces this by immediately adding it to your total score instead of the total so far for this roll. Needless to say, it's a very good roll to get.
You can't begin play (adding to your point total) until you've rolled 1000 points on a turn. After you've crossed the 1000 point threshold, you can stop rolling whenever you want, even if your score so far on that turn is less than 1000 points.
Once a player has crossed the 10,000 point mark, the other player gets one more turn to try to get a higher score. The game forces you to keep rolling until you either get a farkle or you've scored enough points to at least tie the other player.

If you've played this game before, you probably played by different rules. There's a lot of variations on how to score dice, what the winning point total is, and whether to require an initial scoring threshold. These are just the rules that I've always played by.


Resources:


Entries

  • List your entry here. Use the wikispaces file upload feature to upload your zip file, or create a page to hold your code. Be sure to include you name on your code!
  • Rod Bird's basic farkle entry, addictive!