private void UpdateMap() { foreach (Unit u in map.Units) { if (u.GetType() == typeof(MeleeUnit)) { MeleeUnit m = (MeleeUnit)u; if (m.Health < 5) { switch (R.Next(0, 5)) { case 0: m.Move(Direction.North); break; case 1: m.Move(Direction.West); break; case 2: m.Move(Direction.South); break; case 3: m.Move(Direction.East); break; } } else { bool inCombat = false; foreach (Unit e in map.Units) { if (u.Range(e)) { u.Combat(e); inCombat = true; } } if (inCombat) { Unit c = m.Close(map.Units); m.Move(m.Directionto(c)); } } } else if (u.GetType() == typeof(RangesUnit)) { RangesUnit r = (RangesUnit)u; if (r.Health < 20) { switch (R.Next(0, 4)) { case 0: r.Move(Direction.North); break; case 1: r.Move(Direction.West); break; case 2: r.Move(Direction.South); break; case 3: r.Move(Direction.East); break; } } else { bool inCombat = false; foreach (Unit e in map.Units) { if (u.Range(e)) { u.Combat(e); inCombat = true; } } if (inCombat) { Unit c = r.Close(map.Units); r.Move(r.Directionto(c)); } } } else if (u.GetType() == typeof(Grubs)) { Grubs g = (Grubs)u; if (g.Health < 20) { switch (R.Next(0, 4)) { case 0: g.Move(Direction.North); break; case 1: g.Move(Direction.West); break; case 2: g.Move(Direction.South); break; case 3: g.Move(Direction.East); break; } } else { bool inCombat = false; foreach (Unit e in map.Units) { if (u.Range(e)) { u.Combat(e); inCombat = true; } } if (inCombat) { Unit c = g.Close(map.Units); g.Move(g.Directionto(c)); } } } //else if (u.GetType() == typeof(deadshot)) //{ // deadshot ds = (deadshot)u; // if (ds.Health < 20) // { // switch (R.Next(0, 4)) // { // case 0: ds.Move(Direction.North); break; // case 1: ds.Move(Direction.West); break; // case 2: ds.Move(Direction.South); break; // case 3: ds.Move(Direction.East); break; // } // } // else // { // bool inCombat = false; // foreach (Unit e in map.Units) // { // if (u.Range(e)) // { // u.Combat(e); // inCombat = true; // } // } // if (inCombat) // { // Unit c = ds.Close(map.Units); // ds.Move(ds.Directionto(c)); // } // } //} } //foreach (Building y in map.buildings) //{ // if (y.GetType() == typeof(ResourceBuilding)) // { // ResourceBuilding rb = (ResourceBuilding)y; // } //} }