Beispiel #1
0
        public static ProcessingControl createRobot(InputData id)
        {
            OpMap          map     = new OpMap(id.map, id.start.facing, id.start.X, id.start.Y);
            IMotionControl motCtrl = new MotionControl(id.battery);

            return(new ProcessingControl(motCtrl, map));
        }
Beispiel #2
0
        public static void WriteAllOpNames()
        {
            OpMap  map   = new OpMap();
            String names = map.GetAllOperatorNames();

            Console.WriteLine("Oprators:" + names);
        }
Beispiel #3
0
        // (TL, TL, A)
        public bool execStrategy(OpMap m, IMotionControl mc)
        {
            try
            {
                m.turnLeft();
                mc.turnLeft();

                m.turnLeft();
                mc.turnLeft();

                m.advance();
                mc.advance();
            }
            catch (CannotComplyException)
            {
                return(false);
            }
            catch (NotEnoughBatteryException)
            {
                return(false);
            }
            catch (OutOfBatteryException)
            {
                return(false);
            }
            catch (Exception)
            {
                return(false);
            }
            return(true);
        }
Beispiel #4
0
 public void turnRight_facingNorthTurn270_returnsWest()
 {
     map = new OpMap(m, Direction.N, 1, 1);
     map.turnRight();
     map.turnRight();
     map.turnRight();
     Assert.AreEqual(map.Direction, Direction.W);
 }
Beispiel #5
0
 public void advance_toNull_throwCannotComplain()
 {
     map = new OpMap(m, Direction.S, 1, 2);
     Assert.Catch <CannotComplyException>(
         () => map.advance());
     Assert.AreEqual(map.XCoord, 1);
     Assert.AreEqual(map.YCoord, 2);
 }
Beispiel #6
0
 public void turnLeft_facingWestTurn270_returnsWest()
 {
     map = new OpMap(m, Direction.W, 1, 1);
     map.turnLeft();
     map.turnLeft();
     map.turnLeft();
     Assert.AreEqual(map.Direction, Direction.N);
 }
Beispiel #7
0
 public void execProgram_advanceToColumnBackoff2_returnErrorFalse()
 {
     map  = new OpMap(m, Direction.N, 2, 2);
     proc = new WithStrategy_2(motCtrl, map);
     Command[] cmds = new Command[] { Command.A };
     proc.execProgram(cmds);
     Assert.IsFalse(proc.Error);
     Assert.AreEqual(map.Direction, Direction.N);
     Assert.AreEqual(map.XCoord, 3);
     Assert.AreEqual(map.YCoord, 0);
 }
Beispiel #8
0
 public void execProgram_advanceToNullBackoff5_returnErrorFalse()
 {
     m[3, 3] = Map.Null;
     map     = new OpMap(m, Direction.S, 3, 2);
     proc    = new WithStrategy_5(motCtrl, map);
     Command[] cmds = new Command[] { Command.A };
     proc.execProgram(cmds);
     Assert.IsFalse(proc.Error);
     Assert.AreEqual(map.Direction, Direction.N);
     Assert.AreEqual(map.XCoord, 3);
     Assert.AreEqual(map.YCoord, 0);
 }
Beispiel #9
0
        public void init()
        {
            // Test_1
            m = new Map[, ]
            {
                { Map.S, Map.S, Map.S, Map.S },
                { Map.S, Map.S, Map.C, Map.S },
                { Map.S, Map.S, Map.S, Map.S },
                { Map.S, Map.Null, Map.S, Map.S },
            };
            map     = new OpMap(m, Direction.N, 3, 0);
            motCtrl = new MotionControl(10);

            proc = new ProcessingControl(motCtrl);
        }
Beispiel #10
0
        public void execProgram_Test1_returnResult()
        {
            map     = new OpMap(m, Direction.N, 3, 0);
            motCtrl = new MotionControl(80);

            proc         = new ProcessingControl(motCtrl);
            proc.LoadMap = map;
            Command[] cmds = new Command[] { Command.TL, Command.A, Command.C, Command.A, Command.C, Command.TR, Command.A, Command.C };

            proc.execProgram(cmds);
            Assert.AreEqual(Direction.E, map.Direction);
            Assert.AreEqual(54, motCtrl.Battery);
            Assert.AreEqual(2, map.XCoord);
            Assert.AreEqual(0, map.YCoord);
        }
Beispiel #11
0
        public static void Main(string[] args)
        {
            OpMap  map   = new OpMap();
            String names = map.GetAllOperatorNames();

            Console.WriteLine("Oprators:" + names);

            //Symbol net = Symbol.Load("lenet.json");
            //Console.WriteLine(net);

            //LenetModel.RunPredictTest();

            //Lenet lenet = new Lenet();
            //lenet.Run();
            Console.ReadKey();
        }
Beispiel #12
0
        public void execProgram_Test2_returnResult()
        {
            // Test_1
            m = new Map[, ]
            {
                { Map.S, Map.S, Map.S, Map.S },
                { Map.S, Map.S, Map.C, Map.S },
                { Map.S, Map.S, Map.S, Map.S },
                { Map.S, Map.Null, Map.S, Map.S },
            };

            map     = new OpMap(m, Direction.S, 3, 1);
            motCtrl = new MotionControl(1094);

            proc         = new ProcessingControl(motCtrl);
            proc.LoadMap = map;
            Command[] cmds = new Command[] { Command.TR, Command.A, Command.C, Command.A, Command.C, Command.TR, Command.A, Command.C };

            proc.execProgram(cmds);
            Assert.AreEqual(Direction.E, map.Direction);
            Assert.AreEqual(1040, motCtrl.Battery);
            Assert.AreEqual(3, map.XCoord);
            Assert.AreEqual(2, map.YCoord);
        }
Beispiel #13
0
 public void advance_facingNorth_returns0()
 {
     map = new OpMap(m, Direction.N, 1, 1);
     map.advance();
     Assert.AreEqual(map.YCoord, 0);
 }
Beispiel #14
0
 public void back_facingNorth_returns2()
 {
     map = new OpMap(m, Direction.N, 1, 1);
     map.back();
     Assert.AreEqual(map.YCoord, 2);
 }
Beispiel #15
0
 public WithStrategy_5(IMotionControl motCtrl, OpMap m) : base(motCtrl, m)
 {
 }
Beispiel #16
0
 public void turnRight_facingWest_returnsSouth()
 {
     map = new OpMap(m, Direction.N, 1, 1);
     map.turnRight();
     Assert.AreEqual(map.Direction, Direction.E);
 }
Beispiel #17
0
 public void turnLeft_facingWest_returnsSouth()
 {
     map = new OpMap(m, Direction.W, 1, 1);
     map.turnLeft();
     Assert.AreEqual(map.Direction, Direction.S);
 }
Beispiel #18
0
 public void back_facingWest_returns0()
 {
     map = new OpMap(m, Direction.W, 1, 1);
     map.back();
     Assert.AreEqual(map.XCoord, 2);
 }
Beispiel #19
0
 public void advance_facingWest_returns0()
 {
     map = new OpMap(m, Direction.W, 1, 1);
     map.advance();
     Assert.AreEqual(map.XCoord, 0);
 }