Example #1
0
        static void Main(string[] args)
        {
            try
            {
                Console.Write("Enter the upper-right coordinates of the plateau (Separate them with  a space): ");
                string[] coordinates = Console.ReadLine().Split(' ');
                Plateau  plateau     = new Plateau(Convert.ToInt32(coordinates[0]), Convert.ToInt32(coordinates[1]));

                Console.Write("Enter the rover's position and heading(N-North E-East S-South W-West) (Separate them with a space): ");
                string[]      positions = Console.ReadLine().Split(' ');
                Position      position  = new Position(Convert.ToInt32(positions[0]), Convert.ToInt32(positions[1]));
                DirectionEnum direction = (DirectionEnum)System.Enum.Parse(typeof(DirectionEnum), positions[2].ToUpper());
                if (!PlateauManager.CanLand(plateau, position))
                {
                    Console.WriteLine("Can Not Land!..");
                }
                else
                {
                    Console.Write("Enter a series of instructions (M-Move Forward L-Turn Left R-Turn Right): ");
                    string instructions = Console.ReadLine();

                    Rover rover = new Rover(position, direction);
                    RoverManager.Execute(rover, plateau, instructions.ToUpper());
                    Console.WriteLine(RoverManager.CurrentPosition(rover));
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("FAILED!.. " + ex.Message);
            }

            Console.ReadLine();
        }
Example #2
0
 public MainWindow()
 {
     InitializeComponent();
     DataContext    = App.fourmilliereVM;
     plateauManager = PlateauManager.Instance;
     dt.Tick       += Redessine_Tick;
     dt.Interval    = new TimeSpan(0, 0, 0, 0, App.fourmilliereVM.VitesseExecution);
 }
Example #3
0
        public static IPlateauManager Case2()
        {
            IPlateauManager plateauManager = new PlateauManager {
            };
            IRoverManager roverManager     = new RoverManager();

            plateauManager.Plateau             = new Plateau();
            plateauManager.Plateau.CoordinateX = 5;
            plateauManager.Plateau.CoordinateY = 5;

            plateauManager.RoverManagerList = new List <IRoverManager>();
            roverManager.Rover = new Rover(new RoverPosition {
                CoordinateX = 3, CoordinateY = 3, Direction = Direction.East
            });
            roverManager.RoverCommandsManager              = new RoverCommandsManager();
            roverManager.RoverCommandsManager.CommandList  = "MMRMMRMRRM";
            roverManager.RoverCommandsManager.RoverManager = roverManager;
            roverManager.Rover.RoverCommands = roverManager.Rover.RoverCommands;
            roverManager.Rover.Plateau       = plateauManager.Plateau;

            plateauManager.RoverManagerList.Add(roverManager);
            return(plateauManager);
        }
Example #4
0
        public static IPlateauManager Case1()
        {
            IPlateauManager plateauManager = new PlateauManager {
            };
            IRoverManager roverManager     = new RoverManager();

            plateauManager.Plateau             = new Plateau();
            plateauManager.Plateau.CoordinateX = 5;
            plateauManager.Plateau.CoordinateY = 5;

            plateauManager.RoverManagerList = new List <IRoverManager>();
            roverManager.Rover = new Rover(new RoverPosition {
                CoordinateX = 1, CoordinateY = 2, Direction = Direction.North
            });
            roverManager.RoverCommandsManager              = new RoverCommandsManager();
            roverManager.RoverCommandsManager.CommandList  = "LMLMLMLMM";
            roverManager.RoverCommandsManager.RoverManager = roverManager;
            roverManager.Rover.RoverCommands = roverManager.Rover.RoverCommands;
            roverManager.Rover.Plateau       = plateauManager.Plateau;

            plateauManager.RoverManagerList.Add(roverManager);
            return(plateauManager);
        }
Example #5
0
 public Attitude()
 {
     plateauManager = PlateauManager.Instance;
 }
Example #6
0
 public Deplacement()
 {
     plateauManager = PlateauManager.Instance;
 }