spaceconquest.Map.Map C# (CSharp) Method

Map() public method

public Map ( int nPlayers, int instanceIndex, String name, System.Int64 seed ) : System
nPlayers int
instanceIndex int
name String
seed System.Int64
return System
        public Map(int nPlayers, int instanceIndex, String name, Int64 seed)
        {
            //For if we want a specific name
            Int64 size1 = CommonRNG.getRandom(seed);
            Int64 size2 = CommonRNG.getRandom(size1);

            int s1, s2;

            s1 = 3;// (int)(size1 % (nPlayers + 1));
            s2 = 3;// (int)(size2 % (nPlayers + 1));

            Console.WriteLine("S1, S2 = " + s1 + ", " + s2);

            galaxy = new Galaxy("random galaxy", nPlayers+s1+s2, size2);
            //populate galaxy with non-Units and non-affiliated Units
            List<SolarSystem3D> cands = new List<SolarSystem3D>();
            foreach (SolarSystem3D sys in galaxy.systems) {
                cands.Add(sys);
            }
            players = new List<Player>(nPlayers);
            //Initialize players - agendum when we have a Player class
            CommonRNG.resetSeed();
            for (int i = 0; i < nPlayers; i++) {
                size2 = CommonRNG.getRandom(size2);
                SolarSystem3D sTemp = cands.ElementAt((int)(size2 % cands.Count));
                cands.Remove(sTemp);
                size2 = CommonRNG.getRandom(size2);
                players.Add(new Player(sTemp.planets.ElementAt((int)(size2 % sTemp.planets.Count)), "Player " + i));
            }

            //i.e. give each player a starting planet.
            this.MapName = name;
            this.instancePlayer = players.ElementAt(instanceIndex);
        }