Greed Game

I was told the Greed Game was invented by Rex Bogs. It is a fun party game that is based on “pressing your luck” on five rounds of throwing a die. The points accumulate until the number 2 is cast. Before the die is cast, players have an option of banking the total. If they think the next roll is not a 2, they keep standing. But if it is a 2, they get zero points for that round.

Overview:

A “round”:

What's next:

What if it is a 2?

Roll Dice @ random.org

Solo Player Write a solo player app, that will play 5 rounds. It will roll the die twice. If a 2 was rolled, the round is over and if the player was standing, they get a zero for the round. If no 2 was rolled, the sum is added to the round total. The player is asked if they want to bank the round total, or remain standing and try rolling again. This continues until either a 2 is rolled or the player sits and banks the round total. Do this again until 5 rounds are played. Report the grand total for the five rounds.

Below are zipped BlueJ projects to help you get started. The first is a simple text based version that just has the starter code for asking questions and getting the user responses from the keyboard. The second is a GUI version that shows dice and has two buttons “SIT” (to bank the round total) or “STAND” to roll the dice again.

greed_game_solo.zip

greed_game_solo_gui.zip

Multi Player Write a program that will ask for the number of players, get a name for each player, and for each round each player whether they want to sit and bank the round's points, or remain standing to risk getting more. After each round it should report the current point totals, and after 5 rounds announce the winner.

Here are two BlueJ project zipped up with some code:

Greed Game Sim

Since the chances of rolling a 2 is 1/6, then why not modify the game that so two die are cast, and the “loosing” roll would be doubles. Rolling doubles occurs 6/36 times, the same probability as rolling a single die and casting a 2. Of course, for a game, the fun is based on the variety of outcomes, not the average outcome.

It takes a while to play a game, so why not have the computer simulate the game many many times? We can then compare the original game to the modified game and see if the variation is about the same, or if one games seems different.

The code above can be changed to be verbose, and with any number of players (see the first two lines of the main method.

Greed Game Contest

You can now design and test Game strategies with this one. You can design subclasses of a new Player class is a little different. Instead of “sit down,” your decide method would call setActive(false). There are also two parmeters that delivers some information that you can use to make your own strategy. A timid player would always sit down right away, while a greedy player will press his or her luck. Luck at the decide of the different subclasses of Player.