Пример #1
0
        /// <summary>
        /// timer aktualizujacy obecna ilosc jednostek
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void timerUpdater_Tick(object sender, EventArgs e)
        {
            labelElvishArcherQuantity.Text  = ElvishArcher.ElvishList.Count.ToString();
            labelElvishWarriorQuantity.Text = ElvishWarrior.ElvishList.Count.ToString();
            labelElvishMasterQuantity.Text  = ElvishMaster.ElvishList.Count.ToString();

            labelElvishArcherTrainingCostTime.Text  = (ElvishArcher.TrainingTime() / 1000).ToString();
            labelElvishWarriorTrainingCostTime.Text = (ElvishWarrior.TrainingTime() / 1000).ToString();
            labelElvishMasterTrainingCostTime.Text  = (ElvishMaster.TrainingTime() / 1000).ToString();
        }
Пример #2
0
        /// <summary>
        /// timer odmierzajacy czas szkolenia jednostki elficki wojownik
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void timerElvishWarriorTraining_Tick(object sender, EventArgs e)
        {
            // zatrzymuje timer
            timerElvishWarriorTraining.Stop();
            // zatrzymanie timera od progressBaru
            timerElvishWarriorProgressBar.Stop();
            // stworzenie jednostki
            ElvishWarrior newWarrior = new ElvishWarrior();

            // zresetowanie progressBaru
            progressBarElvishWarriorTraining.Value = 0;
            // odblokowuje klawisz szkolenia kolejnego elfickiego wojownika
            buttonElvishWarriorTrain.Enabled = true;
        }
Пример #3
0
        private void FormTraining_Load(object sender, EventArgs e)
        {
            // ustawia obraz elfickiego łucznika, obraz znajduje sie w resources projektu
            pictureBoxElvishArcher.Image = Properties.Resources.elvishArcher2;
            // ustawia obraz elfickiego wojownika, obraz znajduje sie w resources projektu
            pictureBoxElvishWarrior.Image = Properties.Resources.elvishWarrior;
            // ustawia obraz elfickiego mistrza, obraz znajduje sie w resources projektu
            pictureBoxElvishMaster.Image = Properties.Resources.elvishMaster2;

            labelElvishArcherQuantity.Text  = ElvishArcher.ElvishList.Count.ToString();
            labelElvishWarriorQuantity.Text = ElvishWarrior.ElvishList.Count.ToString();
            labelElvishMasterQuantity.Text  = ElvishMaster.ElvishList.Count.ToString();

            // Tworzenie obiektu klasy ElvishArcher i wyswietlnie w poszczegolnych labelach kosztow treningow jednostki elfi lucznik
            int[] cost = ElvishArcher.TrainingCost();
            labelElvishArcherTrainingCostFood.Text       = cost[0].ToString();
            labelElvishArcherTrainingCostWood.Text       = cost[1].ToString();
            labelElvishArcherTrainingCostStone.Text      = cost[2].ToString();
            labelElvishArcherTrainingCostIron.Text       = cost[3].ToString();
            labelElvishArcherTrainingCostCrystals.Text   = cost[4].ToString();
            labelElvishArcherTrainingCostPopulation.Text = cost[5].ToString();

            // tworzenie obiektu klasy ElvishWarrior i wyswietlenie jego kosztow szkolenia
            cost = ElvishWarrior.TrainingCost();
            labelElvishWarriorTrainingCostFood.Text       = cost[0].ToString();
            labelElvishWarriorTrainingCostWood.Text       = cost[1].ToString();
            labelElvishWarriorTrainingCostStone.Text      = cost[2].ToString();
            labelElvishWarriorTrainingCostIron.Text       = cost[3].ToString();
            labelElvishWarriorTrainingCostCrystals.Text   = cost[4].ToString();
            labelElvishWarriorTrainingCostPopulation.Text = cost[5].ToString();

            // Wyswietlnie w poszczegolnych labelach kosztow treningow jednostki elfi mistrz
            cost = ElvishMaster.TrainingCost();
            labelElvishMasterTrainingCostFood.Text       = cost[0].ToString();
            labelElvishMasterTrainingCostWood.Text       = cost[1].ToString();
            labelElvishMasterTrainingCostStone.Text      = cost[2].ToString();
            labelElvishMasterTrainingCostIron.Text       = cost[3].ToString();
            labelElvishMasterTrainingCostCrystals.Text   = cost[4].ToString();
            labelElvishMasterTrainingCostPopulation.Text = cost[5].ToString();

            // wyswietli czas szkolenia poszczegolnyc jednostek
            labelElvishArcherTrainingCostTime.Text  = (ElvishArcher.TrainingTime() / 1000).ToString();
            labelElvishWarriorTrainingCostTime.Text = (ElvishWarrior.TrainingTime() / 1000).ToString();
            labelElvishMasterTrainingCostTime.Text  = (ElvishMaster.TrainingTime() / 1000).ToString();
            // timer aktualizuje wyswietlana liczbe jednostek
            timerUpdater.Interval = 100;
            timerUpdater.Start();
        }
Пример #4
0
 /// <summary>
 /// Funkcja wywolywana podczas klikniecia na przyskich w zamiarze szkolenia elfickiego wojownika
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void buttonElvishWarriorTrain_Click(object sender, EventArgs e)
 {
     // sprawdzenie czy uzytkownik posiada wystarczajaca ilosc zasobow
     if (IfEnoughtResources(labelElvishWarriorTrainingCostFood, labelElvishWarriorTrainingCostWood, labelElvishWarriorTrainingCostStone, labelElvishWarriorTrainingCostIron, labelElvishWarriorTrainingCostCrystals, labelElvishWarriorTrainingCostPopulation) == true)
     {
         // ustawienie timera
         timerElvishWarriorTraining.Interval = ElvishWarrior.TrainingTime();
         // ustawienie timera odpowiedzialnego za progressbar
         timerElvishWarriorProgressBar.Interval = timerElvishWarriorTraining.Interval / 110 + 1;
         // wystartowanie timera odpowiedzialnego za progressbar
         timerElvishWarriorProgressBar.Start();
         // wystartowanie timera
         timerElvishWarriorTraining.Start();
         // zablokowanie klawisza
         buttonElvishWarriorTrain.Enabled = false;
     }
     else
     {
         MessageBox.Show("Brak wystarczajacych ilosci zasobow");
     }
 }
Пример #5
0
        /// <summary>
        /// Funkcja wczytująca wcześniej zapisany stan
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void buttonLoad_Click(object sender, EventArgs e)
        {
            // próba otworzenia pliku
            try
            {
                xDoc.Load(path);
            }
            catch
            {
                MessageBox.Show("Otworzenie pliku z zapisami nie powiodło sie", "Informacja", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            // szukanie zapisu o podanej nazwie
            foreach (XmlNode node in xDoc.SelectNodes("saves/save"))
            {
                // jezeli znalazlo podaną nazwę zapisu w bazie xml to wczytuje z niej zawarte dane
                if (node.SelectSingleNode("saveName").InnerText == textBoxSaveName.Text)
                {
                    // wczytanie zasobów
                    Resources.ResourcesFood     = Int32.Parse(node.SelectSingleNode("resources/food").InnerXml);
                    Resources.ResourcesWood     = Int32.Parse(node.SelectSingleNode("resources/wood").InnerXml);
                    Resources.ResoucresStone    = Int32.Parse(node.SelectSingleNode("resources/stone").InnerXml);
                    Resources.ResoucresIron     = Int32.Parse(node.SelectSingleNode("resources/iron").InnerXml);
                    Resources.ResoucresCrystals = Int32.Parse(node.SelectSingleNode("resources/crystals").InnerXml);
                    Resources.Population        = Int32.Parse(node.SelectSingleNode("resources/population").InnerXml);

                    // wczytanie poziomow budynkow
                    ElvishBuildings.LevelOfHuntingBuilding   = Int32.Parse(node.SelectSingleNode("elvishBuildings/huntingBuild").InnerXml);
                    ElvishBuildings.LevelOfWoodshet          = Int32.Parse(node.SelectSingleNode("elvishBuildings/woodshet").InnerXml);
                    ElvishBuildings.LevelOfQuarry            = Int32.Parse(node.SelectSingleNode("elvishBuildings/quarry").InnerXml);
                    ElvishBuildings.LevelOfIronWorks         = Int32.Parse(node.SelectSingleNode("elvishBuildings/ironWorks").InnerXml);
                    ElvishBuildings.LevelOfCrystalMine       = Int32.Parse(node.SelectSingleNode("elvishBuildings/crystalMine").InnerXml);
                    ElvishBuildings.LevelOfHouses            = Int32.Parse(node.SelectSingleNode("elvishBuildings/houses").InnerXml);
                    ElvishBuildings.LevelOfTemple            = Int32.Parse(node.SelectSingleNode("elvishBuildings/temple").InnerXml);
                    ElvishBuildings.LevelOfElvishBuilding    = Int32.Parse(node.SelectSingleNode("elvishBuildings/elvishBuilding").InnerXml);
                    ElvishBuildings.LevelOfMartialArtsSchool = Int32.Parse(node.SelectSingleNode("elvishBuildings/martialArtsSchool").InnerXml);
                    ElvishBuildings.LevelOfInfrastructure    = Int32.Parse(node.SelectSingleNode("elvishBuildings/infrastructure").InnerXml);

                    // stworzenie takiej samej liczby jednostek elfow
                    for (int i = 1; i <= Int32.Parse(node.SelectSingleNode("elvishUnits/elvishArcher").InnerXml); i++)
                    {
                        ElvishArcher loadArcher = new ElvishArcher();
                    }
                    for (int i = 1; i <= Int32.Parse(node.SelectSingleNode("elvishUnits/elvishWarrior").InnerXml); i++)
                    {
                        ElvishWarrior loadWarrior = new ElvishWarrior();
                    }
                    for (int i = 1; i <= Int32.Parse(node.SelectSingleNode("elvishUnits/elvishMaster").InnerXml); i++)
                    {
                        ElvishMaster loadMaster = new ElvishMaster();
                    }
                    // stworzenie takiej samej liczby jednostek orków
                    for (int i = 1; i <= Int32.Parse(node.SelectSingleNode("orcishUnits/orcishCrossbowman").InnerXml); i++)
                    {
                        OrcishCrossbowman loadOrcishCrossbowman = new OrcishCrossbowman();
                    }
                    for (int i = 1; i <= Int32.Parse(node.SelectSingleNode("orcishUnits/orcishWarrior").InnerXml); i++)
                    {
                        OrcishWarrior loadWarrior = new OrcishWarrior();
                    }
                    for (int i = 1; i <= Int32.Parse(node.SelectSingleNode("orcishUnits/orcishCommander").InnerXml); i++)
                    {
                        OrcishCommander loadCommander = new OrcishCommander();
                    }

                    // wczytanie licznika potyczek
                    OrcsAttack.battleCounter = Int32.Parse(node.SelectSingleNode("battleCounter").InnerXml);

                    // zamkniecie okienka
                    this.Close();
                    // wyswietlenie wiadomosci
                    MessageBox.Show("Wczytano!", "Informacja", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
        }