//события в городе public event FireEventHandler Fire; //моделирование случайных событий private Random rnd = new Random(); //вероятность пожара в доме в текущий день: p= m/n private int m = 3, n= 10000; В нашем городе есть дома; есть время, текущее день за днем; городские службы; событие "пожар", которое, к сожалению, может случайно с заданной вероятностью возникать каждый день в каждом доме. Рассмотрим конструктор объектов нашего класса: //конструктор класса public NewTown(int TownSize, int Days) { BuildingNumber = rnd.Next(TownSize); days = Days; policeman = new Police(this); ambulanceman= new Ambulance(this); fireman= new FireDetect(this); policeman.On(); ambulanceman.On(); fireman.On(); } При создании объектов этого класса задается размер города - число его домов и период времени, в течение которого будет моделироваться жизнь города. При создании объекта создаются его службы - объекты соответствующих классов Police, Ambulance, FireDetect, которым предается ссылка на сам объект "город". При создании служб вызываются методы On, подключающие обработчики события Fire |