Rummy Score Tracker

Project completed: May 2019

Summary

In this project, I designed a program to keep track of a game of Rummy.

Background

My family and I like to play Rummy. During the game, the score and the person who is dealing needs to be tracked. To make the game flow better, I decided to write a program which would keep track of the score and dealer.

Rummy Program

The program is written in Python. It is designed be ran using QPython on an Android Tablet. I made this decision as the program does not need to have a GUI. As a result, using QPython to run the code made implementing the program easier.

When the program starts up, it asks how many people are playing and which player is dealing. This is so the program can keep track of who is to deal.

At the start of each round, the program prints all of the scores for each round as well as the total score for each player and which player is dealing. The program prompts for each player’s score in sequence. The program also only accepts a number which is a multiple of 5. This is because, the points are only a multiple of 5. Additionally, typing the word change, allows for a score from a previous round to be corrected after it has been entered.

Finally, when the program detects the highest score is over 500 and is not tied, the program displays the winner of the game and exits.

The following is the program printout at the end of the game for a 3 player game.

25      -75     10
-5      100     25
105     -15     -5
0       35      50
45      25      55
-5      15      40
-10     55      25
-75     -35     5
100     125     135
90      15      -45
100     105     115
10      25      -5
35      75      25
25      15      35
35      15      45
------------------------
475     480     510
Player 3 wins

Conclusion

After I wrote this program, my family has used at every game of Rummy since. My family and I was okay with using paper and pen but this solution produces less waste. This program has made a game of Rummy with my family more fun and relaxing.

The code for this project can be found here