Esempio n. 1
0
        static void InitializeRoverToDB(RoverData rover)
        {
            using (var context = new RoverContext())
            {
                rover = new RoverData()
                {
                    Routes = new List <Route>()
                    {
                        new Route()
                        {
                            Time        = new DateTime(),
                            Coordinates = new List <Coordinates>()
                            {
                                new Coordinates()
                                {
                                }
                            }
                        }
                    }
                };

                context.Rovers.Add(rover);
                context.SaveChanges();
            }
        }
Esempio n. 2
0
 public RoverController(RoverData rover,
                        IRoverMovementStrategy roverMovementStrategy,
                        RoverContext context)
 {
     this._rover = rover;
     this._roverMovementStrategy = roverMovementStrategy;
     this._context = context;
 }
 public RoverMovementStrategy(RoverData rover, Coordinates coordinates)
 {
     this._coordinates = coordinates;
     this._rover       = rover;
 }
Esempio n. 4
0
        static void Main(string[] args)
        {
            #region First Rover details


            var rover1      = new RoverData();
            var coordinates = new Coordinates
            {
                X = 1,
                Y = 1
            };

            var route = new Route
            {
                Time        = DateTime.Now,
                Coordinates = new List <Coordinates>()
                {
                    coordinates
                }
            };


            var roverStrategy1   = new RoverMovementStrategy(rover1, coordinates);
            var roverController1 = new RoverController(rover1, roverStrategy1, null);


            var rover1Commands = "";

            do
            {
                Console.WriteLine("\tW");
                Console.WriteLine("\tA");
                Console.WriteLine("\tS");
                Console.WriteLine("\tD");
                Console.WriteLine();
                Console.Write("Enter command:");
                rover1Commands = Console.ReadLine();
                roverController1.Move(rover1Commands);

                Console.WriteLine($"Rover one ->: ({DateTime.Now}) " +
                                  $"Coordinates are :({coordinates.X},{coordinates.Y})");

                InitializeRoverToDB(rover1);
            } while (rover1Commands.CompareTo("x") < 0);

            // InitializeRoverToDB(rover1);

            #endregion

            /*   roverController1.Move(rover1Commands);
             *
             *
             * Console.WriteLine($"Rover one final position is " +
             *                   $"({rover1.Position.X},{rover1.Position.Y}) " +
             *                   $"and orientation {rover1.Orientation.ToDescription()}");
             #endregion
             * /*
             #region Second Rover details
             * var rover2 = new Rover();
             * var roverStrategy2 = new RoverMovementStrategy(rover1);
             * var roverController2 = new RoverController(rover1, roverStrategy2, map);
             * rover1.Position = new Coordinates { X = map.ElementAt(3).ElementAt(3).X, Y = map.ElementAt(3).ElementAt(3).Y };
             * rover1.Orientation = Orientation.E;
             *
             * var rover2Commands = "MMRMMRMRRM";
             * roverController2.Move(rover2Commands);
             * Console.WriteLine($"Rover two final position is " +
             *                   $"({rover1.Position.X},{rover1.Position.Y}) " +
             *                   $"and orientation {rover1.Orientation.ToDescription()}");
             *
             #endregion
             *
             * Console.WriteLine("\nExploring Mars!");
             * Console.ReadKey();
             * }
             */
            Console.ReadKey();
        }
Esempio n. 5
0
 public void ChangeRover(RoverData rover) =>
 this._rover = rover;