Write a program to play this dice game with two players and a
winning score of 10,000 points. Each player will decide what dice
to score (see definition of scoring below). Your program will roll
the dice, keep track of the current score and make sure the rules are
enforced. Your program will print the current score after each
round and announce when there is a winner.
Read and then use the name of each player in your output.
Allow the user to play as many games as they want, until they
decide to end the playing.
You must write and call at least two functions in addition to
main( ).
This game 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 to some winning total
(usually 10,000).
At the beginning of each turn, the player throws all of the six dice at once
from a cup.
After each throw, one or more scoring dice must be set aside (see
sections on scoring below).
The player may then either end their turn and bank the score accumulated
so far, or continue to throw the remaining dice.
If the player has scored all six dice, they then have "hot dice" and may
continue their turn with a new throw of all six dice, adding to the
score they have already accumulated. There is no limit to the
number of "hot dice" a player may roll in one turn.
If none of the dice score in any given throw, the player has "farkled" and
all points for that turn are lost.
At the end of the player's turn, the dice are handed to the next player in
succession (usually in clockwise rotation), and they have their turn.
Once a player has achieved a winning point total, each other player has
one last turn to score enough points to surpass that high-score.
Standard scoring
The following scores for single dice or combinations of dice are widely
established, in that they are common to all or nearly all of the above-cited
descriptions of the game’s scoring.
Dice
combination Score
Each 1 100
Each 5 50
Three 1s 1000
Three 2s 200
Three 3s 300
Three 4s 400
Three 5s 500
Three 6s 600
For example, if a player throws 1-2-3-3-3-5, they could do any of the
following:
▪ score three 3s as 300 and then throw the remaining three dice
▪ score the single 1 as 100 and then throw the remaining five dice
▪ score the single 5 as 50 and then throw the remaining five dice
▪ score three 3s, the single 1, and the single 5 for a total of 450 and then
throw the remaining die
▪ score three 3s, the single 1, and the single 5 for a total of 450 and stop,
banking 450 points in that turn
This is not an exhaustive list of plays based on that throw, but it covers
the most likely ones. If the player continues throwing, as in any of the
above cases except the last, they risk ‘farkling’ and thus losing all
accumulated points. On the other hand, if they score five dice and have
only one die to throw, they have a 1 in 3 chance of scoring a single 1 or a
single 5, and then having scored all six dice they will have "hot dice" and
can throw all six dice again to further increase their score.
Each scoring combination must be achieved in a single throw. For
example, if a player has already set aside two individual 1s and then
throws a third with the four dice remaining, they do not have a triplet of 1s
for a score of 1000 but merely three individual 1s for a score of 300.
I like the details in the requirements for this project. I requires a bit of data structures knowledge to make it space efficient, a bit of design; overall nice and clear.
I think the scoring part is the only part you need to pay more attention.
You don't specify anything about a GUI so I'll assume you are interested in the algorithm not a GUI so a C++ console application will work fine.
I would like to work on this - check out my feedback here on freelancer, even though I don't have so many projects I think they are relevant.
Let me know.
Regards,
Andrei
Hi, Greetings of the day and thanks for sharing these details and allowing me to bid on this assignment.
we have already worked on a similar project before and can deliver as u have mentioned in your requirements
I have checked your requirements. We have right skills to work on this assignment.
we have over 12 years of experience handling a large portfolio of diverse applications,
including website development & management , seo strategy with design ,
windows applications and tools and mobile apps
We are a team of professionals including experienced analysts, designers, project managers, developers and QA people having great expertise in web applications development mainly on core PHP, PHP with open sources (Joomla, Wordpress, Codeigniter, Cake PHP), .NET, Asp.NET, Vb.NET, HTML 5 etc. and mobile applications on ios and Android platform.
can u provide your sky-pe and other contact details for further discussion about the project
I am ready to discuss with you
Regards
Hi. I'm an experienced programmer, but I'm new on freelancer.com, so I'd be happy to create your program for $100 and a nice review at the end :)
I can do it in PHP, C++, or Javascript. (I recently worked on a Texas Holdem game in Javascript. This would be far, far easier to do, and I can have it ready for you in a few days. )
Looking forward to your reply,
Alex
Hi, I can do it for your! I have a great experience in developing different console games in c/ c++. So, give me this job and you'll obtain a really good result in short time. See an example of a c++ game in my portfolio