Link Search Menu Expand Document

Project 05 - More Snowman

Due Date: Wednesday 10/28 @ 6am Uploaded to Canvas

Overview

In this project, you’ll extend the functionality of your Snowman game from PA03 to include the following features:

  1. Add functionality to keep score for the player. The way you determine the score for a player in a game is up to you. Gamify it.
  2. Keep a Scoreboard of the top 5 players. A player is identified by their first name. The data for the scoreboard should be stored in a file. At the end of each game, if the current player has earned a score that would qualify them to be on the scoreboard, add their name and score, and then display the entire score board. If their score does not quailfy them to be on the scoreboard, then simply display the scoreboard and give a positive message such as “Better Luck Next Time”.
  3. Add functionality for the “secret word” to be randomly selected from a list of words that you have stored in a file. Create a file called “secret_words.txt” and put 50 words in it. In your program, randomly generate a number from 1 - 50, and then use the word on that line as the secret word. This is an expansion of the file that had a single secret word from PA03.

Please stay mindful of good functional decomposition. Your project should be decomposed into a number of functions that do one thing well. Limit the amount of code that isn’t inside a function to that which is absolutely necessary. We will talk more about this in class this week as well as we continue talking about OOP.

Submission and Grading

Your project should be submitted as a zip file to Canvas in the appropriate PA05 location. The zip file should contain all files necessary to run the project, including but not limited to:

  1. your python code
  2. the secret_words.txt file
  3. the scoreboard.txt file

It will be graded according to the following rubric:

  • Source Code Quality: 30%
    • Proper use of vertical white space
    • Proper use of horizontal white space
    • Understandable variable names
    • File header comments with your name, SMU ID, and a brief explanation of the project.
  • Correctness: 30%
    • Does your project properly use the secret word in the input file to run the program?
  • User Interface: 40%
    • Are the interface steps logical?
    • Does the main game loop stop under the correct conditions?
    • Are the prompts to the user helpful?