示例#1
0
 public Waiter(Log log, int pizzas_x_table, int time_for_serving_a_pizza, Plate plate)
 {
     this.log                      = log;
     this.pizzas_x_table           = pizzas_x_table;
     this.time_for_serving_a_pizza = time_for_serving_a_pizza;
     this.plate                    = plate;
 }
示例#2
0
        public void run(int log_level, int slices_x_pizza, int eaters_x_table,
                        int slices_to_be_full, int time_for_eating_a_slice,
                        int pizzas_x_table, int time_for_serving_a_pizza)
        {
            Log log = new Log(log_level);

            Console.WriteLine("INICIO");
            Plate  plate  = new Plate(slices_x_pizza);
            Waiter waiter = new Waiter(log, pizzas_x_table, time_for_serving_a_pizza, plate);
            var    table  = new List <Eater>();

            Console.WriteLine("Se sientan los comensales.");
            for (int i = 1; i <= eaters_x_table; i++)
            {
                table.Add(new Eater(log, i, slices_to_be_full, time_for_eating_a_slice, plate));
            }
            Console.WriteLine("El camarero empieza a servir.");
            waiter.Start();
            Console.WriteLine("Los comensales empiezan a comer.");
            foreach (Eater eater in table)
            {
                eater.Start();
            }
            waiter.Finish();
            Console.WriteLine("El camarero ha terminado.");
            foreach (Eater eater in table)
            {
                eater.Finish();
            }
            Console.WriteLine("Los comensales han terminado de comer.");
            Console.WriteLine("FIN");
        }
示例#3
0
 public Eater(Log log, int id, int slices_to_be_full, int time_for_eating_a_slice, Plate plate)
 {
     this.log                     = log;
     this.id                      = id;
     this.plate                   = plate;
     this.slices_to_be_full       = slices_to_be_full;
     this.time_for_eating_a_slice = time_for_eating_a_slice;
 }