CS 177
Fall 2019
Project #3
Due Date
This assignment is due by 11:59 pm on Monday, December 9th.
Team Project
This project is a team assignment you should complete it with your assigned CS 177 team and not on your own. Every team member should submit the identical completed project3.py program by the due date. Late submissions will not be accepted.
This assignment is a continuation of Project 2. Work with your team members to ensure you are starting with a program containing all the functionality specified in Project 2 before proceeding with Project 3.
Assignment Description: Developing Guess Master 3.0
The entire Purdue campus is buzzing about your CS 177 project In fact, theyre practically begging for an expanded version and have provided dozens of great ideas for features, enhancements and improvements. To address the demand, youve been asked to add three (3) specific new features and to develop three (3) creative features of your own. A description of the assignment follows:
The Hint Button: Once per round, the player will have the ability to eliminate three random characters but it will cost them two guesses as 2 Polygons from the Block P will fall.
Saving Game Statistics: In addition to displaying the score at the end of a game, the program will save the users name, number of rounds played and game score to a file containing statistics from all games played.
Scrolling Top 7 Scores Window: A new button added to the CONTROL PANEL will open a new HIGH SCORES Graphics window displaying the top 7 scores in a scrolling window. (See example on Blackboard with the Project 3 assignment)
Custom Creative Additions: Your team must develop, fully document, test and implement three (3) additional, creative features based on your own designs. You are free to design and add whatever you can imagine, however it must be an addition or enhancement to the existing Project specifications. Your creative features should not replace or interfere with the existing requirements. (See Part 5 of this assignment for more details)
Part 1: Completed Project 2 Specifications
Start by ensuring that your program meets all specifications from Project 2. After reviewing your program, the Project 2 rubric and the grading feedback received, apply any necessary corrections.
Page 1 of 3
CS 177 Fall 2019 Project 3
Part 2: The Hint Button
Provide a way for the player to receive a hint during the round by eliminatating 3 letters. Add a Rectangle to the CONTROL PANEL Graphics window labeled HINT. Once per round the player can click the HINT control to have three incorrect letters change color. This will cost the player 2 guesses as 2 of the Polygons making up the Block P will fall.
HINT: New button added to the CONTROL PANEL Graphics window
Effect: Clicking the HINT control changes three (3) incorrect Circles/letters to change to Gold/Black as
if they were clicked
Cost: Clicking the HINT control causes two of the Block P Polygons to fall. In effect, this costs the
player two guesses
Part 3: Saving Game Statistics
At the end of each game, display an Entry box object in the GAME PANEL Graphics window along with a label to prompt the user to enter their name. The players game statistics (name, number of rounds and final score) should be added to the scores.txt datafile. The initial file is provided with the Project 3 assignment on Blackboard and your program must support the file in that format. No changes to the format of the scores.txt datafile are allowed.
scores.txt: Datafile provided with the Project 3 assignment. Do not change the datafile format
In addition to the Entry box, you might want to add a SAVE control to click after entering their name
Saving scores: At the end of each game, the players name, number of rounds and score are added to
the scores.txt datafile.
NOTE: The existing statistics in scores.txt must not be changed or lost.
Part 4: Scrolling Top 7 Scores Window
Modify your CONTROL PANEL Graphics window to include a new Rectangle labeled HIGH SCORES. A click on this control opens a new Graphics window that displays the top 7 scores from the scores.txt file in a scrolling animation. An example of the scrolling HIGH SCORES display is posted on Blackboard with the Project 3 assignment. When the HIGH SCORES Graphics window is opened, it stays open until it is clicked.
HIGH SCORES: New Rectangle in CONTROL PANEL window that opens a new Graphics window
Top 7: Only the top 7 scores are displayed in the HIGH SCORES window, regardless of how many scores
are stored in the scores.txt datafile
Stays Open: When the HIGH SCORES Graphics window is opened, it stays open until it is clicked.
Page 2 of 3
CS 177 Fall 2019 Project 3
Part 5: Custom Creative Features
This is your chance for your team to add your own custom, creative elements to your program. Design, test, integrate and fully document three new features or enhancements. These must meet the following parameters: Some guidelines are listed below:
Custom creative features can be a part of either the Control Panel or the Game windows
Your custom features must extend, enhance or add to the functionality of the program
Use comments to document your features. Add descriptions for all features just below the program header, then additional comments where the features are coded within your program.
Custom feature documentation must describe its purpose, functionality and the techniques you used for implementation
Your custom features must not interfere with, change or take the place of the existing specifications or requirements from either Project 2 or Project 3.
Features should be more than just color changes or simple adjustments. NOTE: If it only takes a few lines of code to implement, then it isnt going to count for full credit.
Features should require logic (decisions) based on user interaction and/or events occuring in the Guess Master game.
Test, test, test regardless of their complexity and awesomeness, features that dont work reliably wont receive full credit
All features must work in all environments test on Windows and Mac PCs for full functionality. This is a requirement.
Submit to Blackboard
Upload your completed project3.py file to Blackboard by the due date.
All team members must upload an identical copy of project3.py to their Blackboard account
This assignment is due Monday, December 9th by 11:59 pm
Project 3 Grading Rubric
Points
Properly setup header with all team member names, Python filename is project3.py
10
Part 1: All Project 2 specifications are met
15
Part 2: HINT control Rectangle is added to CONTROL PANEL as specified
10
Part 2: Clicks on the HINT control are only allowed once per round
10
Part 2: Clicks on the HINT control change three (3) incorrect Circles/letters to change
15
Part 2: Clicks on the HINT control cause 2 BLOCK P Polygons to fall from GAME window
15
Part 3: Entry box is used to obtain player name and game statistics are collected
10
Part 3: scores.txt datafile format is not changed new statistics are added as specified
10
Part 4: Click on HIGH SCORES control causes scrolling display of top 7 scores as specified
30
Part 5: Custom Creative Feature #1 Fully documented, functional and meets specifications
20
Part 5: Custom Creative Feature #2 Fully documented, functional and meets specifications
20
Part 5: Custom Creative Feature #3 Fully documented, functional and meets specifications
20
Style / Format: Python code is formatted well and easy to understand
15
Total Points
200
Page 3 of 3
Reviews
There are no reviews yet.