CSSE 120 -- Intro. to Software Development

Homework 15

Reminder: for each class session and associated homework:
  • You do the Reading Quiz on Angel.
  • You do all other work in Eclipse in the project that you checked out for that session or will check out per the homework instruction.
  • Unless otherwise specified, follow the template given in this document for solving each programming assignment.
  • You turn in your Eclipse work by committing that project:
    • Right-click on the project name in the Package Explorer view.
    • Select Team ~ Commit
    • In the message box that appears, put a message to yourself if you wish (eventually, these messages will be for your teammates) and press OK.

  1. Complete the assigned reading for the next session: Zelle Chapter 11.1 – 11.3, 11.6
  2. (28 pts) Complete the Angel quiz over the reading assignment. You'll find the quiz on the course Angel page, under Lessons → Homework → Homework 15 → Data Collections
  3. (30 pts) Checkout Session15_Blackjack from your repository. (Session15_Blackjack will be available shortly after your class is done.) Run the program to see how it works.  Here are a few sample runs that may be helpful to you as you implement your solutions to this problem.

    Add the following features to this code, and commit it back to your repository.
    1. Initially the program asks the user how many games to play.
    2. The program then takes the user through that many games. Do not get a new deck for each game, but continue to deal from the same deck. You may assume that the number of games is small enough so that the deck will not be exhausted (i.e., your program does not have to check for an empty deck).
    3. At the end of each game, print the number of games the user has won so far, the number lost, and the number remaining to be played. Do not use any new global variable or top-level constant in your code as you add these features.

    To add the features described above, you should adopt the following strategy:

    1. Rename your main() function to something like playOneGame().
    2. Add to that function's code the ability to return information about who won that game.
    3. Now write a new main function that repeatedly calls playOneGame and keeps track of wins/losses. You will probably need to move one line of code from playOneGame back to your new main function. Can you see why?

    You may also wish to refer to the structure diagram of the BlackJack program, which is included in the Session15_Blackjack project.