Roulette

This part describes the game of Roulette. Roulette is a stateless game with numerous bets and a very simple process for game play.

The chapters of this part present the details on the game, an overview of the solution, and a series of sixteen exercises to build a complete simulation of the game, plus a variety of betting strategies. Each exercise chapter builds at least one class, plus unit tests; in some cases, this includes rework of previous deliverables.

Table of Contents

2. Roulette Details
Roulette Game
Available Bets
Some Betting Strategies
3. Roulette Solution Overview
Preliminary Survey of Classes
A Walkthrough of Roulette
Questions and Answers
4. Outcome Class
Overview
Design
Fields
Constructors
Methods
Deliverables
5. Bin Class
Overview
Java Collections
Python Collections
Questions and Answers
Java Design
Fields
Constructors
Methods
Python Design
Fields
Constructors
Methods
Deliverables
6. Wheel Class
Overview
Design
Fields
Constructors
Methods
Deliverables
7. Bin Builder Class
Overview
Algorithms
Design
Constructors
Methods
Deliverables
8. Bet Class
Overview
Questions and Answers
Design
Fields
Constructors
Methods
Deliverables
9. Roulette Table Class
Overview
Design
InvalidBet Exception
Table Class
Deliverables
10. Roulette Game Class
Overview
Design
Passenger57 Class
Roulette Game Class
Questions and Answers
Deliverables
11. Review of Testability
Overview
Questions and Answers
Design
Wheel Rework
Java NonRandom Class
Python NonRandom Class
Deliverables
12. Player Class
Overview
Design
Player superclass
Martingale Player
Deliverables
13. Overall Simulation Control
Overview
Design
Fields
Constructors
Methods
Deliverables
14. Player SevenReds
Overview
Design
Fields
Methods
Deliverables
15. Statistical Measures
Overview
Some Foundations
Statistical Algorithms
Design
Constructors
Methods
Deliverables
16. Player Random
Overview
Design
Fields
Constructors
Methods
Deliverables
17. Player 1-3-2-6
Overview
Questions and Answers
Design
Player1326 State
Player1326 No Wins
Player1326 One Win
Player1326 Two Wins
Player1326 No Wins
Player1326
Deliverables
Advanced Exercise
Singleton Design in Java
Singleton Design in Python
18. Player Cancellation
Overview
Design
Fields
Constructors
Methods
Deliverables
19. Player Fibonacci
Overview
Design
Fields
Constructors
Methods
Deliverables
20. Conclusion