CSCI 261 - Programming Concepts (C++)

Spring 2017 - Assignment 05 - Wheel of Fortune!

Quick Links: Blackboard | Canvas | CS @ Mines | Cloud9 | Piazza | zyBooks

|   Home |  Contact |  Syllabus |  Assignments |  Schedule |  Resources   |
This assignment is due by Tuesday, February 14, 2017 11:59pm.

This assignment exercises your ability to use conditionals, loops, and arrays together.


Instructions



Your goal for this assignment is to create a playable Wheel of Fortune (Hangman) game. You will need to create a secret word for the user to try and guess one letter at a time.

First you need to ask the user to enter a letter. Then you'll check if that letter exists in your secret word. If it does exist, then you should tell the user and display the puzzle with the letter revealed. If the letter does not exist, then inform user the letter is not found. You will repeat this process until all the correct letters have been guessed or the user has entered 7 wrong letters.

Hopefully it is readily clear that you will need to use a loop to keep prompting the user to enter a letter. You will also need to use conditionals to check if the letter exists. You will need to use an array to store the secret letter (since a word is just a collection of letters). We'll also need arrays to keep track of the previously guessed letters (we don't want the player to guess wrong a second time) and the solved letters.

An example of a winning game:

Wheel! Of!! Fortune!!!

Take a guess: _ _ _ _ _ _ _ _ _ _ _
Your guess: a
There's an A!

Take a guess: _ _ _ _ _ A _ _ _ _ _
Your guess: c
Sorry, no C's. You have 6 wrong guesses remaining.

Take a guess: _ _ _ _ _ A _ _ _ _ _
Your guess: a
You already guessed A.

...

Take a guess: P R O _ R A M M I N _
Your guess: g
CONGRATS! You solved the puzzle: P R O G R A M M I N G

An example of a losing game:

Wheel! Of!! Fortune!!!

Take a guess: _ _ _ _ _ _ _ _ _ _ _
Your guess: a
There's an A!

Take a guess: _ _ _ _ _ A _ _ _ _ _
Your guess: c
Sorry, no C's. You have 6 wrong guesses remaining.

Take a guess: _ _ _ _ _ A _ _ _ _ _
Your guess: q
Sorry, no Q's. You have 5 wrong guesses remaining.

...

Take a guess: _ _ _ _ _ A _ _ _ _ _
Your guess: w
Sorry, no W's. You have 1 wrong guess remaining.

Take a guess: _ _ _ _ _ A _ _ _ _ _
Your guess: X
Sorry, no X's.
You lose. Try again!


Hints



  • You are going to need to use multiple arrays. These arrays correspond to:
    1. The secret word that is being guessed.
    2. The "current board" of letters the user has found.
    3. The list of letters the user has already guessed.
    Think about what is the most appropriate type for each array. They may not all be of type char.

  • You'll need loops in multiple places:
    1. Continue asking the user for letters until solved or out of guesses
    2. Printing the current puzzle
    3. Checking if the letter exists in the puzzle
    4. Checking if the puzzle is solved


Functional Requirements



  • The user is allowed to guess using upper or lower case letters.
  • The user cannot guess the same letter more than once. Alert the user if they already guessed a letter.
  • The user is allowed 7 wrong guesses before losing the game.
  • Your secret word must be at least 6 letters long. This secret word must be stored in an array.
  • You must use arrays (not vectors)


Grading Rubric


Your submission will be graded according to the following rubric.

Points Requirement Description
4 Labs completed
13 Hangman game is playable and meets functional requirements outlined above
4 (1) Comments used (2) Coding style followed (3) Appropriate variable names, constants, and data types used (4) Instructions followed (5) Assignment compiles


Submission


Always, always, ALWAYS update the header comments at the top of your main.cpp file. And if you ever get stuck, remember that there is LOTS of help available.

In summary, for homework due on Tuesday, February 14 follow these specific steps:
  • create a directory called week05.
  • within week05, create three subdirectories: Lab05A, Lab05B, and A05.
  • within your new week05/Lab05A directory, copy in your main.cpp file from your Lab05A solution.
  • within your new week05/Lab05B directory, copy in your main.cpp file from your Lab05B solution.
  • within your new week05/A05 directory, copy in your main.cpp file from your A05 solution.
  • compress the week05 directory (see Step 3 here for details).
  • submit the week05.zip file to Blackboard (see Steps 5-10 here for details).
  • after you submit, download the file and double check it contains all that you think it contains!

This assignment is due by Tuesday, February 14, 2017 11:59pm.
Last Updated: 01/01/70 00:00


Valid HTML 4.01 Strict Valid CSS! Level Triple-A conformance, W3C WAI Web Content Accessibility Guidelines 2.0