Exemplo n.º 1
0
        // Start the manor and create a schmutzfabrikThread, a juwelfabrikThread, a vaccumThread, start them and print floor every 2 seconds
        public void setAlive()
        {
            Thread schmutzThread = new Thread(new ThreadStart(schmutzfabrikThread));
            Thread juwelThread   = new Thread(new ThreadStart(juwelfabrikThread));
            Thread vacThread     = new Thread(new ThreadStart(vaccumThread));

            schmutzThread.Start();
            juwelThread.Start();
            vacThread.Start();

            while (true)
            {
                Console.Clear();
                //Print vaccum performance
                Console.WriteLine("Performance : " + aspirateur.getPerformance());

                // Print Floor state
                printFloorState();

                //Sleep 0.5s
                Thread.Sleep(500);
            }
        }
        //Boucle principale
        public void setAlive(string strategy)
        {
            schmutzThread = new Thread(new ThreadStart(schmutzfabrikThread));
            juwelThread   = new Thread(new ThreadStart(juwelfabrikThread));

            if (strategy != "n")
            {
                vacThread = new Thread(new ThreadStart(vaccumThreadInforme));
            }
            else
            {
                vacThread = new Thread(new ThreadStart(vaccumThread));
            }

            schmutzThread.Start();
            Thread.Sleep(2000);
            juwelThread.Start();
            vacThread.Start();

            while (true)
            {
                Console.Clear();

                if (strategy != "n")
                {
                    Console.WriteLine("Performance : " + aspirateur.getPerformance());
                }
                else
                {
                    Console.WriteLine("Performance : " + floor.tick());
                }
                printFloorState();
                printActions();
                Thread.Sleep(100);
            }
        }