private static Warplanet GenerateSingleWarplanet(int currentPosition, String ships)
        {
            Boolean hasShips = false;

            didJump = false;

            String tempColor = listOfPlanetsAsXMLNode[currentPosition].ToString(); //.getAttributes().item(1).toString();
            String color     = tempColor.Substring(13, tempColor.Length - 2);

            String tempName = listOfPlanetsAsXMLNode[currentPosition].ToString();                                   //.getTextContent();
            String name     = tempName.Substring(1, listOfPlanetsAsXMLNode[currentPosition].ToString().Length - 1); //.getTextContent().length() - 1);

            String tempXCoord1 = listOfLinesAsXMLNode[currentPosition - (totalPlanets - totalLines)].ToString();    //.getAttributes().item(1).toString();
            String tempXCoord2 = listOfLinesAsXMLNode[currentPosition - (totalPlanets - totalLines)].ToString();    //.getAttributes().item(2).toString();

            String tempYCoord1 = listOfLinesAsXMLNode[currentPosition - (totalPlanets - totalLines)].ToString();    //getAttributes().item(3).toString();
            String tempYCoord2 = listOfLinesAsXMLNode[currentPosition - (totalPlanets - totalLines)].ToString();    //getAttributes().item(4).toString();

            xCoord1AsString = tempXCoord1.Substring(4, tempXCoord1.Length - 1);
            yCoord1AsString = tempYCoord1.Substring(4, tempYCoord1.Length - 1);

            xCoord2AsString = tempXCoord2.Substring(4, tempXCoord2.Length - 1);
            yCoord2AsString = tempYCoord2.Substring(4, tempYCoord2.Length - 1);

            xPos1 = int.Parse(xCoord1AsString);
            yPos1 = int.Parse(yCoord1AsString);

            xPos2 = int.Parse(xCoord2AsString);
            yPos2 = int.Parse(yCoord2AsString);

            xPos1 = xPos1 - XCOORD_CORRECTION_WARPLANET;
            yPos1 = yPos1 - YCOORD_CORRECTION_WARPLANET;

            xPos2 = xPos2 - XCOORD_CORRECTION_WARPLANET;
            yPos2 = yPos2 - YCOORD_CORRECTION_WARPLANET;


            double a = (xPos1 - xPos2);
            double b = (yPos1 - yPos2);
            double distanceTraveled = Math.Sqrt(Math.Pow(a, 2) + Math.Pow(b, 2));

            if (distanceTraveled > 61)
            {
                didJump = true;
            }

            if (ships.Contains("ships"))
            {
                hasShips = true;
            }

            String    type          = "Warplanet";
            String    csvPlanetType = "w";
            Warplanet warplanet     = new Warplanet(name, xPos2, yPos2, color, hasShips, didJump, distanceTraveled, xPos1, yPos1, type, csvPlanetType);

            return(warplanet);
        }
        private static List <Object> GenerateAllPlanets(bool fetchHouse)
        {
            InitializePlanet();

            int planetCount = 0;

            for (int currentPosition = 0; currentPosition <= totalPlanets; currentPosition++)
            {
                String tempWP = listOfPlanetsAsXMLNode[currentPosition].ToString(); //.getAttributes().item(0).toString();
                String wp     = tempWP.Substring(7, tempWP.Length - 1);


                if (wp.Contains("wpname"))
                {
                    planetCount--;
                }
                if (wp.Contains("name"))
                {
                    planetCount++;
                }
            }

            for (int currentPosition = planetCount; currentPosition <= totalPlanets; currentPosition++)
            {
                String tempWP = listOfPlanetsAsXMLNode[currentPosition].ToString(); //.getAttributes().item(0).toString();
                String ships  = tempWP.Substring(7, tempWP.Length - 1);
                is_warplanet = true;
                Warplanet warplanet = GenerateSingleWarplanet(currentPosition, ships);
                warplanetList.Add(warplanet);
            }

            for (int currentPosition = 0; currentPosition < planetCount; currentPosition++)
            {
                String tempPlanet = listOfPlanetsAsXMLNode[currentPosition].ToString(); // .getAttributes().item(0).toString();
                String ships      = tempPlanet.Substring(7, tempPlanet.Length - 1);
                is_warplanet = false;
                Planet planet = GenerateSinglePlanet(currentPosition, ships);

                string color = planet.Color;
                if (color.Equals("b4b4b4") || color.Equals("dcdcdc") || color.Equals("787878"))
                {
                    planet.House = "neutral";
                    neutralPlanetList.Add(planet);
                }
                else
                {
                    planetList.Add(planet);
                }
            }

            allPlanetLists.Add(planetList);
            allPlanetLists.Add(warplanetList);
            allPlanetLists.Add(neutralPlanetList);
            KosmorMapTool.planetLister.planetList = planetList;
            return(allPlanetLists);
        }
Example #3
0
        public static void writeWarplanets(bool fetchInfo, List <Planet> warplanetList, StreamWriter sw)
        {
            String house;
            String player;
            int    combatPower;

            int    warplanetListSize       = warplanetList.Count;
            String warplanetListSizeString = String.Format("%.0f", warplanetListSize);

            double value = 0;
            String percentage;

            for (int i = 0; i < warplanetListSize; i++)
            {
                Warplanet warplanet = (Warplanet)warplanetList[i];
                String    url       = createURL(warplanet);
                if (fetchInfo)
                {
                    value      = (i / warplanetListSize) * 100;
                    percentage = String.Format("%.2f", value);

                    String[] info = HttpClientForKosmor.ParsePlanets(url, warplanet, true);
                    house       = info[0];
                    player      = info[1];
                    combatPower = 0;
                    if (warplanet.Ships.Contains("ships"))
                    {
                        combatPower = HttpClientForKosmor.CountShipsOnPlanet(
                            url, warplanet);
                    }
                    warplanet.House       = house;
                    warplanet.Owner       = player;
                    warplanet.CombatPower = combatPower;
                }
                url = createURL(warplanet);
                String link = "<a href=\"" + url + "\">" + warplanet.Name
                              + "</a>";
                String output = warplanet.toHTMLTable(link, fetchInfo);
                sw.WriteLine(output);
                sw.WriteLine(sw.NewLine);
                sw.WriteLine(sw.NewLine);
            }
            sw.WriteLine(sw.NewLine);
        }