using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Drawing; namespace trackDesigner { public class trackStructure { public trackPt ptA; public trackPt ptMid; public trackPt ptB; public bool drawn; public trackStructure(Point a, Point m, Point b) { ptA = new trackPt(a, false); ptMid = new trackPt(m, true); ptB = new trackPt(b, false); drawn = false; } public trackStructure() { ptA = new trackPt(); ptMid = new trackPt(); ptB = new trackPt(); drawn = false; } } public class trackPt { public Point loc; public int num_connected; public bool midpt; public int val1; public int val2; public trackPt() { loc = new Point(); num_connected = 0; midpt = false; val1 = -1; val2 = -1; } public trackPt(Point x, bool m) { loc = new Point(x.X, x.Y); num_connected = 0; midpt = m; val1 = -1; val2 = -1; } public trackPt(Point x, int n, bool m, int v1, int v2) { loc = new Point(x.X, x.Y); num_connected = n; midpt = m; val1 = v1; val2 = v2; } } public class turnout { public Point loc; public char state; public turnout() { loc = new Point(-1, -1); state = 'X'; } public turnout(Point l, char st) { loc = new Point(l.X, l.Y); state = st; } } public class sensor { public Point loc; public bool covered; public sensor() { loc = new Point(-2, -2); covered = false; } public sensor( Point l, bool st) { loc = new Point(l.X, l.Y); covered = st; } } public class train { public Point[] loc; public int firstcar; public int direction; public char state; public int speed; public int ctr; public string color; public train() { loc = new Point[4]; state = 'X'; direction = 0; speed = 0; ctr = 0; firstcar = -1; color = "None"; } public train(Point l, int dir, int s, char st, string col) { loc = new Point[4]; for (int i = 0; i < 4; i++) { loc[i] = new Point(l.X, l.Y); } firstcar = 3; state = st; speed = s; direction = dir; ctr = dir; color = col; } } }