Esempio n. 1
0
        static void Main(string[] args)
        {
            var firstPlayer = new RandomComputerPlayer {
                Name = "Fred", Banter = "Fred makes his move..."
            };
            var secondPlayer = new RandomComputerPlayer {
                Name = "Joe", Banter = "Joe strikes back..."
            };

            new Game(new OutputAdapter(new ConsoleOutputWriter()), new TicTacToeEngine(), firstPlayer, secondPlayer, 1000).Start();
        }
        public void RandomMoveGeneratorIsCalledOnceWhenGettingComputerMove()
        {
            // Arrange
            var mockRandomMoveGenerator = new Mock <IRandomMoveGenerator>();
            var randomComputerPlayer    = new RandomComputerPlayer(mockRandomMoveGenerator.Object);

            //Act
            randomComputerPlayer.GetComputerMove();

            // Assert
            mockRandomMoveGenerator.Verify(m => m.GenerateRandomMove(), Times.Once);
        }
        public void WhenRecursivelyGivenInputList_ThenItShouldReferenceEveryItemInThatListOnlyOnce()
        {
            // Arrange
            var input  = new[] { ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' };
            var player = new RandomComputerPlayer();

            // Act
            var result = new List <int>();

            for (var i = 0; i < input.Length; i++)
            {
                result.Add(player.MakeMove(input));
            }

            // Assert
            result.Sort();
            var expected = new List <int>()
            {
                0, 1, 2, 3, 4, 5, 6, 7, 8
            };
        }
Esempio n. 4
0
        public static IPlayer Create(PlayerTypeEnum type, GamePlayerEnum gamePlayer)
        {
            IPlayer player = new RandomComputerPlayer();

            player.Description = "RANDOM COMPUTER";


            if (type == PlayerTypeEnum.Human)
            {
                player             = new HumanPlayer();
                player.Description = "HUMAN";
            }

            if (type == PlayerTypeEnum.TaticalComputer)
            {
                player             = new TaticalComputerPlayer();
                player.Description = "TATICAL COMPUTER";
            }

            player.Index = (int)gamePlayer;
            return(player);
        }
Esempio n. 5
0
        static bool TryCreatePlayer(string type, int number, out Player player)
        {
            switch (type)
            {
            case "H":
                player = new HumanPlayer(number);
                break;

            case "R":
                player = new RandomComputerPlayer(number);
                break;

            case "T":
                player = new TacticalComputerPlayer(number);
                break;

            default:
                player = null;
                break;
            }

            return(player != null);
        }