internal Quadrant( QuadrantInfo info, Enterprise enterprise, IRandom random, Galaxy galaxy, IReadWrite io) { _info = info; _random = random; _io = io; Galaxy = galaxy; info.MarkAsKnown(); _sectors = new() { [enterprise.SectorCoordinates] = _enterprise = enterprise };
internal Galaxy(IRandom 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.NextCoordinate()]; randomQuadrant.AddStarbase(); if (randomQuadrant.KlingonCount < 2) { randomQuadrant.AddKlingon(); } } }