Exemplo n.º 1
0
        public static void PocniTrku(Automobil auto)
        {
            Thread.Sleep(10000);

            Console.WriteLine("Posle 10 seklundi semafor");
            auto.AutomobilNaSemaforu = true;
            if (svetloNaSemaforu == "zeleno")
            {
                auto.Kreni();
            }
            else
            {
                auto.Zaustavi();
            }

            Thread.Sleep(3000);

            if (auto.TrenutnoStanjeGoriva < 15 && auto.TrenutnoStanjeGoriva > 0)
            {
                Console.WriteLine("Posle 3 sekunde {0} natocio gorivo!", auto.Proizvodjac);

                auto.SipajGorivo();
            }
            else if (auto.TrenutnoStanjeGoriva < 0)
            {
                Console.WriteLine("Automobil {0} je zavrsio trku ostao je bez goriva.", auto.Proizvodjac);
                Thread.Sleep(Timeout.Infinite);
            }

            Thread.Sleep(7000);
            Console.WriteLine("Stigao na na cilj--------------------------------------------- {0}", auto.Proizvodjac);

            lock (najbrziCrveniAutomobil)
            {
                if (auto.Boja == "Crvena" && najbrziCrveniAutomobil.Count == 0)
                {
                    najbrziCrveniAutomobil.Add(auto);
                    Console.WriteLine("Najbrzi crveni automobil je {0}!", auto.Proizvodjac);
                }
            }
        }