Files
basic-computer-games/75_Roulette/csharp/Game.cs
drewjcooper 4722cbded8 Code cleanup
2023-02-16 18:02:04 +11:00

43 lines
928 B
C#

namespace Roulette;
internal class Game
{
private readonly IReadWrite _io;
private readonly IRandom _random;
private readonly Table _table;
private readonly Croupier _croupier;
public Game(IReadWrite io, IRandom random)
{
_io = io;
_random = random;
_croupier = new();
_table = new(_croupier, io, random);
}
public void Play()
{
_io.Write(Streams.Title);
if (!_io.ReadString(Prompts.Instructions).ToLowerInvariant().StartsWith('n'))
{
_io.Write(Streams.Instructions);
}
while (_table.Play());
if (_croupier.PlayerIsBroke)
{
_io.Write(Streams.LastDollar);
_io.Write(Streams.Thanks);
return;
}
if (_croupier.HouseIsBroke)
{
_io.Write(Streams.BrokeHouse);
}
_croupier.CutCheck(_io, _random);
}
}