コード例 #1
0
        static void Main(string[] args)
        {
            while (true)
            {
                Grid grid = new Grid(6, 7);
                GameService gameService = new GameService();

                grid.CounterAdded += gameService.OnCounterAdded;

                while (gameService.GameStatus == GameStatus.NoWinner)
                {
                    if (!grid.IsComputersTurn)
                    {
                        WriteGridToConsole(grid);

                        string column = Console.ReadLine();

                        if (!grid.IsValidUserInput(column))
                        {
                            Console.WriteLine("Please enter a valid column number.");

                            continue;
                        }

                        if (!grid.IsColumnFull(Convert.ToInt32(column)))
                        {
                            grid.AddCounter(new Counter
                            {
                                Column = Convert.ToInt32(column),
                                PlayerType = PlayerType.Human
                            });

                            grid.IsComputersTurn = true;
                        }
                        else
                        {
                            Console.WriteLine("That column is full please select another.");
                        }
                    }
                    else
                    {
                        grid.TakeComputersTurn();

                        grid.IsComputersTurn = false;
                    }
                }

                WriteGridToConsole(grid, true);

                WriteGameResultToConsole(gameService);
            }
        }