public void InitializeDebrisArray(RobotEnvironment env) { environment = env; // Get list of debris Transforms List <Debris> debrisList = environment.GetDebris(); // Initialize list of DebrisInfos debrisInfos = new List <DebrisInfo>(); // Add each debris transform and starting values to info list foreach (Debris d in debrisList) { DebrisInfo info = new DebrisInfo(); info.transform = d.transform; info.lastKnownPosition = Vector3.zero; info.isVisible = false; info.distanceFromRobot = Vector3.Distance(d.transform.position, transform.position); info.lastDistanceFromRobot = info.distanceFromRobot; debrisInfos.Add(info); } UpdateVision(); }
public void TestRobotStartingPoint() { bool result = false; RobotEnvironment environment; bool[,] mapdimension; int x = 0; int y = 0; environment = new RobotEnvironment(x, y); mapdimension = environment.GetMapDim(); result = mapdimension[RobotEnvironment.Map + x, RobotEnvironment.Map + y]; Assert.IsTrue(result); x = -2; y = -4; environment = new RobotEnvironment(x, y); mapdimension = environment.GetMapDim(); result = mapdimension[RobotEnvironment.Map + x, RobotEnvironment.Map + Math.Abs(y)]; Assert.IsTrue(result); x = -4; y = 4; environment = new RobotEnvironment(x, y); mapdimension = environment.GetMapDim(); result = mapdimension[RobotEnvironment.Map + x, RobotEnvironment.Map + Math.Abs(y)]; Assert.IsFalse(result); }
public void TestUniquePoints() { RobotEnvironment environment; int x = 10; int y = 22; environment = new RobotEnvironment(x, y); int requiredresult = 4; char direction = 'E'; int steps = 2; environment.StartCleaning(direction, steps); direction = 'N'; steps = 1; environment.StartCleaning(direction, steps); Assert.AreEqual(environment.GetUniquePoints(), requiredresult); environment = new RobotEnvironment(x, y); requiredresult = 36; direction = 'S'; steps = 35; environment.StartCleaning(direction, steps); direction = 'N'; steps = 30; environment.StartCleaning(direction, steps); Assert.AreEqual(environment.GetUniquePoints(), requiredresult); }
public void TestBoundryLimits() { RobotEnvironment environment; int x = 0; int y = 0; environment = new RobotEnvironment(x, y); char direction = 'E'; int steps = RobotEnvironment.Map + 25; int required = RobotEnvironment.Map + 1; environment.StartCleaning(direction, steps); int result = environment.GetUniquePoints(); Assert.AreEqual(result, required); }
public void TestHeadSouth() { int x = 0; int y = 0; int steps = 4; char direction = 'S'; int requiredresult = 5; RobotEnvironment environment = new RobotEnvironment(x, y); environment.StartCleaning(direction, steps); Assert.AreEqual(environment.GetUniquePoints(), requiredresult); x = 0; y = 0; steps = 2; direction = 'S'; requiredresult = 1; environment = new RobotEnvironment(x, y); environment.StartCleaning(direction, steps); Assert.AreNotEqual(environment.GetUniquePoints(), requiredresult); }