public static void Run() { // Sets up and starts simulation Console.WriteLine("Movie renege"); _env = Sim.Environment(RandomSeed); // Creates movie theater var counter = Sim.Resource(_env, 1); var titles = new[] { ".NET Unchained", "Kill Process", "Pulp Implementation" }; var movies = new List <MovieInfo>(titles.Length); movies.AddRange(titles.Select(t => new MovieInfo(t, _env.Event()))); _theater = new Theater(counter, movies); // Starts process and simulates _env.Process(CustomerArrivals()); _env.Run(until: SimTime); // Analysis and results foreach (var movie in movies.Where(m => m.SoldOut.Succeeded)) { Console.WriteLine("Movie \"{0}\" sold out {1:.0} minutes after ticket counter opening.", movie.Title, movie.WhenSoldOut); Console.WriteLine(" Number of people leaving queue when film sold out: {0}", movie.RenegerCount); } }