public virtual void Execute(IRobot robot, IStringResponse respond = null) { Debug.Assert(robot != null); if (!robot.HasAPosition) { respond?.Write($"Robot position has not been set!"); return; } // validate the robot position & facing if (robot.Vector.Position.X != _vec.Position.X) { respond?.Write($"Validation of robot position ({_vec.Position.X}, {_vec.Position.Y}) facing {_vec.Dir} failed. Robot x position is {robot.Vector.Position.X}!"); } if (robot.Vector.Position.Y != _vec.Position.Y) { respond?.Write($"Validation of robot position ({_vec.Position.X}, {_vec.Position.Y}) facing {_vec.Dir} failed. Robot y position is {robot.Vector.Position.Y}!"); } if (robot.Vector.Dir != _vec.Dir) { respond?.Write($"Validation of robot position ({_vec.Position.X}, {_vec.Position.Y}) facing {_vec.Dir} failed. Robot is facing {robot.Vector.Dir}!"); } }
public virtual void Execute(IRobot robot, IStringResponse respond = null) { Debug.Assert(robot != null); if (!robot.HasAPosition) { return; } respond?.Write($"{robot.Vector.Position.X},{robot.Vector.Position.Y},{robot.Vector.Dir.ToString().ToUpper()}"); }