コード例 #1
0
ファイル: VillageTests.cs プロジェクト: trippleflux/jezatools
 public void NotEnoughResourcesForUpgrade()
 {
     HtmlDocument htmlDocument = new HtmlDocument();
     htmlDocument.Load("..\\..\\Test Files\\build.php.html");
     HtmlParser htmlParser = new HtmlParser(htmlDocument);
     ResourcesForUpgrade resourcesForUpgrade = htmlParser.GetResourcesForNextLevel();
     Assert.AreEqual(2190, resourcesForUpgrade.Wood, "Wood");
     Assert.AreEqual(2095, resourcesForUpgrade.Clay, "Clay");
     Assert.AreEqual(2190, resourcesForUpgrade.Iron, "Iron");
     Assert.AreEqual(750, resourcesForUpgrade.Crop, "Crop");
     Assert.AreEqual(4, resourcesForUpgrade.CurrentLevel, "current level");
 }
コード例 #2
0
ファイル: VillageTests.cs プロジェクト: trippleflux/jezatools
 public void EnoughResourcesForUpgrade()
 {
     HtmlDocument htmlDocument = new HtmlDocument();
     htmlDocument.Load("..\\..\\Test Files\\build.possible.php.html");
     HtmlParser htmlParser = new HtmlParser(htmlDocument);
     ResourcesForUpgrade resourcesForUpgrade = htmlParser.GetResourcesForNextLevel();
     Assert.AreEqual(945, resourcesForUpgrade.Wood, "Wood");
     Assert.AreEqual(1180, resourcesForUpgrade.Clay, "Clay");
     Assert.AreEqual(825, resourcesForUpgrade.Iron, "Iron");
     Assert.AreEqual(235, resourcesForUpgrade.Crop, "Crop");
     Assert.AreEqual("dorf2.php?a=19&c=238d2f", resourcesForUpgrade.UpgradeUrl, "url");
     Assert.AreEqual(10, resourcesForUpgrade.CurrentLevel, "current level");
 }
コード例 #3
0
 /// <summary>
 /// Updates the account info.
 /// </summary>
 private void UpdateAccountInfo()
 {
     UpdateStatus("UpdateAccountInfo");
     HtmlParser htmlParser = new HtmlParser(htmlDocument);
     List<Village> villages = htmlParser.GetAvailableVillages();
     string servername = settings.LoginData.Servername;
     if (villages.Count == 1)
     {
         string url = String.Format(CultureInfo.InvariantCulture, "{0}karte.php", servername);
         htmlDocument = htmlWeb.Load(url);
         //<h1>Zemljevid(<span id="x">-31</span>|<span id="y">-25</span>)</h1>
         HtmlNode htmlNode = htmlDocument.DocumentNode.SelectSingleNode("//h1");
         if (htmlNode != null)
         {
             HtmlNode nodeX = htmlDocument.DocumentNode.SelectSingleNode("//span[@id='x']");
             if (nodeX != null)
             {
                 villages[0].CoordinateX = Misc.String2Number(nodeX.InnerText.Trim());
             }
             HtmlNode nodeY = htmlDocument.DocumentNode.SelectSingleNode("//span[@id='y']");
             if (nodeY != null)
             {
                 villages[0].CoordinateY = Misc.String2Number(nodeY.InnerText.Trim());
             }
         }
     }
     account.UpdateVillages(villages);
     foreach (Village village in villages)
     {
         string url = String.Format(CultureInfo.InvariantCulture, "{0}dorf1.php?newdid={1}",
                                    servername, village.Id);
         htmlDocument = htmlWeb.Load(url);
         htmlParser = new HtmlParser(htmlDocument);
         Production production = htmlParser.GetProduction();
         village.UpdateProduction(production);
         Troops availableTroops = htmlParser.GetAvailableTroops();
         village.UpdateTroopsInVillage(availableTroops);
     }
     List<BuildQueue> list = new List<BuildQueue>();
     foreach (BuildQueue buildQueue in actions.BuildQueue)
     {
         string url = String.Format(CultureInfo.InvariantCulture, "{0}build.php?newdid={1}&id={2}",
                                    servername, buildQueue.VillageId, buildQueue.BuildingId);
         htmlDocument = htmlWeb.Load(url);
         htmlParser = new HtmlParser(htmlDocument);
         buildQueue.Resources = htmlParser.GetResourcesForNextLevel();
         if (buildQueue.Level > buildQueue.Resources.CurrentLevel)
         {
             list.Add(buildQueue);
         }
         else
         {
             UpdateStatus("Removing " + buildQueue);
         }
     }
     actions.BuildQueue = list;
     SerializeActions();
     UpdateListBoxBuildQueues(listBoxBuildQueues);
     UpdateComboBoxVillages(comboBoxMapVillages);
     UpdateComboBoxVillages(comboBoxRallyPointVillages);
     UpdateComboBoxVillages(comboBoxBuildQueueVillages);
     UpdateComboBoxVillages(comboBoxMarketPlaceSourceVillage);
     UpdateComboBoxVillages(comboBoxMarketPlaceDestinationVillage);
     UpdateComboBoxVillages(comboBoxMarketPlaceRepeatSourceVillage);
 }