예제 #1
0
        internal Galaxy(Random random)
        {
            _quadrants = Enumerable
                         .Range(0, 8)
                         .Select(x => Enumerable
                                 .Range(0, 8)
                                 .Select(y => new Coordinates(x, y))
                                 .Select(c => QuadrantInfo.Create(c, GetQuadrantName(c), random))
                                 .ToArray())
                         .ToArray();

            if (StarbaseCount == 0)
            {
                var randomQuadrant = this[random.GetCoordinate()];
                randomQuadrant.AddStarbase();

                if (randomQuadrant.KlingonCount < 2)
                {
                    randomQuadrant.AddKlingon();
                }
            }
        }
예제 #2
0
        public Galaxy()
        {
            var random = new Random();

            _quadrants = Enumerable.Range(1, 8).Select(x =>
                                                       Enumerable.Range(1, 8).Select(y => QuadrantInfo.Create(new Coordinates(x, y), "")).ToArray())
                         .ToArray();

            if (StarbaseCount == 0)
            {
                var randomQuadrant = this[random.GetCoordinate()];
                randomQuadrant.AddStarbase();

                if (randomQuadrant.KlingonCount < 2)
                {
                    randomQuadrant.AddKlingon();
                }
            }
        }