예제 #1
0
        //A tárolt cimeket sorbarendezi, majd végig megy rajta egy ciklussal és
        //átpakolja az Utvonaltervbe, a már rendezett sorrendben
        public Utvonalterv UtvonalTervezes(Rendelesek rendelesek, int feldolgozandoRendelesekSzama)
        {
            Utvonalterv     utvonalterv          = new Utvonalterv();
            List <Rendeles> rendezendoRendelesek = new List <Rendeles> ();

            for (int i = 0; i < feldolgozandoRendelesekSzama; i++)
            {
                Rendeles r = rendelesek.RendelestKivesz();
                if (r != null)
                {
                    rendezendoRendelesek.Add(r);
                }
            }

            IComparer <Rendeles> comparer = new CimHasonlito();

            rendezendoRendelesek.Sort(comparer);

            foreach (Rendeles item in rendezendoRendelesek)
            {
                utvonalterv.RendelesHozzaadas(item);
            }

            return(utvonalterv);
        }
예제 #2
0
 public Futar(string FutarNev, Color JeloloSzin)
 {
     aktualisAllapot   = FutarAllapot.varakozik;
     szallitasiSorrend = new Utvonalterv();
     this.FutarNev     = FutarNev;
     this.JeloloSzin   = JeloloSzin;
 }
예제 #3
0
        public void Main(PizzakiszallitasMainForm form, CityVisual CV)
        {
            Utvonalterv  megtervezettUtvonal  = null;
            Futar        szabadFutar          = null;
            Rendeles     aktualisRendeles     = null;
            FutarAllapot aktualisFutarAllapot = FutarAllapot.varakozik;
            string       message             = "";
            int          rendelesekSzama     = 0;
            int          KovetkezoFutarIndex = 0;

            rendelesekSzama = rendelesek.RendelesekSzama();
            for (int i = 0; i < rendelesekSzama; i++)
            {
                megtervezettUtvonal = iroda.UtvonalTervezes(rendelesek, 2);
                if (megtervezettUtvonal.UtvonalAltalTartalmazottRendelesekSzama() == 0)
                {
                    break;
                }
                szabadFutar         = futarok.KovetkezoFutar(KovetkezoFutarIndex);
                KovetkezoFutarIndex = Futarok.KovetkezoIndex(KovetkezoFutarIndex, futarok.FutarokSzama());
                if (szabadFutar != null)
                {
                    aktualisFutarAllapot = szabadFutar.getFutarAllapot();
                    message = szabadFutar.GetFutarNev() + " állapota: " + aktualisFutarAllapot.ToString();
                    form.AppendLineToOutput(message);
                    System.Threading.Thread.Sleep(2 * 1000);

                    szabadFutar.UtvonaltervetFelvesz(megtervezettUtvonal);
                    aktualisFutarAllapot = iroda.FutartIndit(szabadFutar);
                    message = szabadFutar.GetFutarNev() + " állapota: " + szabadFutar.getFutarAllapot().ToString();
                    form.AppendLineToOutput(message);
                    System.Threading.Thread.Sleep(2 * 1000);

                    while ((aktualisRendeles = szabadFutar.getSzallitasiSorrend().KovetkezoRendeles()) != null)
                    {
                        CV.VisitCity(szabadFutar, aktualisRendeles);
                        message = "\t" + szabadFutar.GetFutarNev() + " tartózkodási helye: " + aktualisRendeles.RendelesiCim().ToString();
                        form.AppendLineToOutput(message);
                        System.Threading.Thread.Sleep(2 * 1000);
                    }
                    message = szabadFutar.GetFutarNev() + " állapota: " + szabadFutar.VisszafeleMegy().ToString();
                    form.AppendLineToOutput(message);
                    System.Threading.Thread.Sleep(2 * 1000);

                    message = szabadFutar.GetFutarNev() + " állapota: " + szabadFutar.VisszatertFutar().ToString();
                    form.AppendLineToOutput(message);
                    System.Threading.Thread.Sleep(2 * 1000);
                }
            }

            return;
        }
예제 #4
0
        public void UtvonaltervetFelvesz(Utvonalterv utvonalterv)
        {
            this.szallitasiSorrend = utvonalterv;

            return;
        }