示例#1
0
        internal void GeneratePlayers(IRule rule)
        {
            var p = new List <Player>(rule.NumberOfPlayers);

            Ships = new List <Ship>();

            if (rule.NumberOfPlayers == 2)
            {
                var player = new Player(0, (TeamType)2, rule);
                Ships.Add(player.CurrentTeam.Ship);
                Ships.Add(player.GetNextTeam().Ship);
                p.Add(player);


                player = new Player((TeamType)1, (TeamType)3, rule);
                Ships.Add(player.CurrentTeam.Ship);
                Ships.Add(player.GetNextTeam().Ship);
                p.Add(player);
            }
            else
            {
                for (var i = 0; i < rule.NumberOfPlayers; i++)
                {
                    var player = new Player((TeamType)i, rule);
                    Ships.Add(player.CurrentTeam.Ship);
                    p.Add(player);
                }
            }


            players = new CurcuitList <Player>(p);
        }
示例#2
0
        public void ShouldReturnNextItem()
        {
            // Assert
            var ints = new List <int> {
                10,
                20,
            };

            var curcuitList = new CurcuitList <int>(ints);

            curcuitList.GetNext()
            .ShouldBeEqual(20);
        }
示例#3
0
        public void ShouldReturnFirstItemByCurrent()
        {
            // Assert
            var ints = new List <int> {
                10,
                20,
            };

            var curcuitList = new CurcuitList <int>(ints);

            curcuitList.Current
            .ShouldBeEqual(10);
        }
示例#4
0
        public Team(TeamType type, IRule rule)
        {
            Type = type;
            Ship = CreateShip(type, rule.Size);
            var pirates = new List <Pirate> {
                new Pirate(this),
                new Pirate(this),
                new Pirate(this)
            };

            pirates.ForEach(p => {
                p.ApplyCommand(Pirate.Actions.Ship);
            });

            Pirates = new CurcuitList <Pirate>(pirates);
        }