public static void RenderLight(Traff_light tl, PictureBox p, Graphics e) { var appDirR = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); var fullPath1 = @"Red.bmp"; var fullPathR = Path.Combine(appDirR, fullPath1); var appDirG = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); var fullPath2 = @"Green.bmp"; var fullPathG = Path.Combine(appDirG, fullPath2); Bitmap _tmpBitmapG = new Bitmap(Image.FromFile(fullPathG)); Bitmap _tmpBitmapR = new Bitmap(Image.FromFile(fullPathR)); switch (tl.CurrLight) { case Lights.Red: e.DrawImage(_tmpBitmapR, tl.Place); if (tl.SIDE == 0) { Tr_c02?.Invoke(0); Tr_c13?.Invoke(1); } break; case Lights.Green: e.DrawImage(_tmpBitmapG, tl.Place); if (tl.SIDE == 0) { Tr_c02?.Invoke(1); Tr_c13?.Invoke(0); } break; } }
public static void RenderMap() { road.RenderRoad(Picture, Graph); foreach (Car c in Cars) { Graph.DrawImage(c.SPRITE, new Point(c.X, c.Y)); } foreach (Crazy_car c in CR_cars) { Graph.DrawImage(c.SPRITE, new Point(c.X, c.Y)); } foreach (var light in TrafficLights) { Traff_light.RenderLight(light, Picture, Graph); } }
public static void Initialization() { Cars = new List <Car>(); CR_cars = new List <Crazy_car>(); TrafficLights = new List <Traff_light>(); MoveTimer = new Timer { Interval = 10 }; MoveTimer.Tick += (sender, e) => Update(); LightsInterval1 = 30; LightsTimer = new Timer { Interval = LightsInterval1 }; Traff_light.CreateLight(); LightsTimer.Tick += (sender, e) => Traff_light.SwitchLight(); R = new Random(); GenCarTimer = new Timer { Interval = 1000 }; GenCarTimer.Tick += (sender, e) => GenerateCar_Tick(); Deleter = new List <Crazy_car>(); }