ItMayBeAHack OOD Exercises
An exercise in OOD as guided by ItMayBeAHack.com.
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12]
 CRoulette.BetContains the information for a bet that a player will place on the table.
 CRoulette.Tests.Bet_Tests
 CRoulette.Tests.Bin_Tests
 CRoulette.Tests.BinBuilderUS_Tests
 CRoulette.GameResponsible for placing the player's bets, selecting a winning bin, and resolving the bets.
 CRoulette.Tests.GameDemoPassenger57Demonstration of a Game with the 'Passenger57' player implementation.
 CHashSet
 CRoulette.BinA collection of Outcomes to be associated with a bin number in Wheel.
 CRoulette.IBinBuilderContract for constructing all of the bins for a wheel.
 CRoulette.BinBuilderUSBuilds the bins for a wheel based on US betting rules.
 CIOutputServiceSimple interface contract to send output to some form of console.
 CuGUIConsoleHandles output to a Unity Input Field via IOutputService implementation. Must be attached to a UI GameObject with an InputField component.
 CMonoBehaviour
 CRoulette.Tests.UnitTestRunnerMonobehaviour to run unit tests.
 CuGUIConsoleHandles output to a Unity Input Field via IOutputService implementation. Must be attached to a UI GameObject with an InputField component.
 CuGUIConsole_IntegrationTest
 CRoulette.OutcomeResponsible for representing the various Outcomes for the Roulette game. Each Outcome is comparable by its name.
 CRoulette.Tests.Outcome_Tests
 CRoulette.PlayerAbstract contract for all Player subclasses
 CRoulette.Passenger57An implementation of the Player class that always bets on black.
 CRoulette.TableResponsible for:
 CRoulette.Tests.Table_Tests
 CRoulette.WheelResponsible for:
 CRoulette.Tests.Wheel_Tests