예제 #1
0
파일: Game.cs 프로젝트: HelaBela/BlackJack
 public Game(IConsoleOperations consoleOperations, List <IPlayer> humanPlayers, IRandomChooser randomChooser)
 {
     _deck = new Deck(randomChooser);
     _consoleOperations = consoleOperations;
     _computer          = new PlayerHand(new PlayerComputer((consoleOperations)));
     _humanPlayers      = humanPlayers.Select(s => new PlayerHand(s)).ToList();
 }
 public void Handle(IConsoleOperations console, IErrorAdapter error)
 {
     console.WriteLine("Coloured".Red() + " text is " + "easy".Yellow() + " to configure.");
     console.WriteLine();
     console.WriteLine("For example:");
     console.WriteLine();
     console.WriteLine(@"    ""red on green"".Red().BGDarkGreen()");
     console.WriteLine();
     console.WriteLine("Displays like this:");
     console.WriteLine();
     console.WriteLine("red on green".Red().BGGreen());
     console.WriteLine();
     console.WriteLine("It's".Cyan()
         + "easy".BGYellow().Black()
         + "to".BGDarkCyan().Cyan()
         + "overuse".BGDarkBlue().White()
         + "it!".Magenta().BGGray());
     console.WriteLine();
     console.WriteLine();
     var data = Enumerable.Range(1, 10)
         .Select(i => new
         {
             Number = i,
             String = string.Join(" ", Enumerable.Repeat("blah", i)).Cyan(),
             Red = (("Red" + Environment.NewLine + "Lines").Cyan() + Environment.NewLine + "lines").BGDarkRed() + "Clear",
             Wrapped = @"Complex data string.
     Includes a hard newline.".Yellow()
         });
     console.FormatTable(data);
     error.WriteLine("This is " + "error".Red() + " text");
 }
예제 #3
0
        static ConsoleProxy()
        {
            if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
            {
                s_consoleProxy = new WindowsConsoleOperations();
                return;
            }

            s_consoleProxy = new UnixConsoleOperations();
        }
예제 #4
0
        static ConsoleReadLine()
        {
            // Maybe we should just include the RuntimeInformation package for FullCLR?
            #if CoreCLR
            if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
            {
                s_consoleProxy = new WindowsConsoleOperations();
                return;
            }

            s_consoleProxy = new UnixConsoleOperations();
            #else
            s_consoleProxy = new WindowsConsoleOperations();
            #endif
        }
예제 #5
0
 public PlayerComputer(IConsoleOperations consoleOperations)
 {
     _consoleOperations = consoleOperations;
 }
예제 #6
0
 public PlayerHuman(IConsoleOperations consoleOperations, string name)
 {
     _consoleOperations = consoleOperations;
     Name = name;
 }