/// <summary>
 /// Wyznaczanie celu podrozy poprzez wybranie wioski ktora ma najmniej surowca ktory posiada handlarz
 /// </summary>
 /// <param name="handlarz"></param>
 /// <returns></returns>
 public Osada wyznaczCelPodrozy(Handlarz handlarz)
 {
     Osada cel = listaOsad.FirstOrDefault();
     Zasob najmniej = new Zasob(handlarz.zwrocWoz().NazwaPrzewozonegoZasobu(), 10000, 0);
     foreach (Osada osada in listaOsad)
     {
         bool warunekWolnosciOsady = false;
         foreach (Handlarz temp in listaHandlarzy)
         {
             if (temp.zwrocCelPodrozy() == osada && temp.zwrocWoz().NazwaPrzewozonegoZasobu() == handlarz.zwrocWoz().NazwaPrzewozonegoZasobu())
             {
                 warunekWolnosciOsady = true;
                 break;
             }
         }
         if (warunekWolnosciOsady) { continue; }
         Magazyn magazyn = osada.magazyny();
         foreach (KeyValuePair<string, Zasob> para in magazyn.pobierzStanMagazynu())
         {
             if (para.Key.Equals(najmniej.nazwaZasobu()))
             {
                 if (najmniej.iloscZasobu() > para.Value.iloscZasobu())
                 {
                     najmniej = para.Value;
                     cel = osada;
                     break;
                 }
             }
         }
     }
     return cel;
 }
Beispiel #2
0
        /// <summary>
        /// Wyznaczanie celu podrozy poprzez wybranie wioski ktora ma najmniej surowca ktory posiada handlarz
        /// </summary>
        /// <param name="handlarz"></param>
        /// <returns></returns>

        public Osada wyznaczCelPodrozy(Handlarz handlarz)
        {
            Osada cel      = listaOsad.FirstOrDefault();
            Zasob najmniej = new Zasob(handlarz.zwrocWoz().NazwaPrzewozonegoZasobu(), 10000, 0);

            foreach (Osada osada in listaOsad)
            {
                bool warunekWolnosciOsady = false;
                foreach (Handlarz temp in listaHandlarzy)
                {
                    if (temp.zwrocCelPodrozy() == osada && temp.zwrocWoz().NazwaPrzewozonegoZasobu() == handlarz.zwrocWoz().NazwaPrzewozonegoZasobu())
                    {
                        warunekWolnosciOsady = true;
                        break;
                    }
                }
                if (warunekWolnosciOsady)
                {
                    continue;
                }
                Magazyn magazyn = osada.magazyny();
                foreach (KeyValuePair <string, Zasob> para in magazyn.pobierzStanMagazynu())
                {
                    if (para.Key.Equals(najmniej.nazwaZasobu()))
                    {
                        if (najmniej.iloscZasobu() > para.Value.iloscZasobu())
                        {
                            najmniej = para.Value;
                            cel      = osada;
                            break;
                        }
                    }
                }
            }
            return(cel);
        }