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); }
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); }