예제 #1
0
        static void Main(string[] args)
        {
            // Aanmaken van een positie-object
            Positie positie1 = new Positie(2, 3);

            // Aanmaken van een robot
            Console.WriteLine("1 ------------------------------------------");
            Robot robot1 = new Robot("Bart", positie1);

            // ----controles uitvoeren
            Console.WriteLine(robot1.Naam == "Bart");
            Console.WriteLine(robot1.Positie.X == 2);
            Console.WriteLine(robot1.Positie.Y == 3);
            Console.WriteLine(robot1.Richting == Richting.Boven);

            // Aanmaken van een robot
            Console.WriteLine("2 ------------------------------------------");
            Robot robot2 = new Robot("Pieter");

            // ----controles uitvoeren
            Console.WriteLine(robot2.Naam == "Pieter");
            Console.WriteLine(robot2.Positie.X == 0);
            Console.WriteLine(robot2.Positie.Y == 0);
            Console.WriteLine(robot2.Richting == Richting.Boven);

            // Aanmaken van een robot
            Console.WriteLine("3 ------------------------------------------");
            Robot robot3 = new Robot("Tom", new Positie(4, 6));

            // ----controles uitvoeren
            Console.WriteLine(robot3.Naam == "Tom");
            Console.WriteLine(robot3.Positie.X == 4);
            Console.WriteLine(robot3.Positie.Y == 6);
            Console.WriteLine(robot3.Richting == Richting.Boven);

            Console.WriteLine("4 ------------------------------------------");
            robot1.Stap();
            robot1.Stap();
            // ----controles uitvoeren
            Console.WriteLine(robot1.Naam == "Bart");
            Console.WriteLine(robot1.Positie.X == 2);
            Console.WriteLine(robot1.Positie.Y == 5);
            Console.WriteLine(robot1.Richting == Richting.Boven);

            Console.WriteLine("5 ------------------------------------------");
            robot2.Stap();
            robot2.Stap();
            robot2.Draai();
            robot2.Draai();
            robot2.Draai();
            // ----controles uitvoeren
            Console.WriteLine(robot2.Naam == "Pieter");
            Console.WriteLine(robot2.Positie.X == 0);
            Console.WriteLine(robot2.Positie.Y == 2);
            Console.WriteLine(robot2.Richting == Richting.Links);

            Console.WriteLine("6 ------------------------------------------");
            robot3.Stap();
            robot3.Stap();
            robot3.Draai();
            robot3.Stap();
            // ----controles uitvoeren
            Console.WriteLine(robot3.Naam == "Tom");
            Console.WriteLine(robot3.Positie.X == 5);
            Console.WriteLine(robot3.Positie.Y == 8);
            Console.WriteLine(robot3.Richting == Richting.Rechts);

            Console.WriteLine("7 ------------------------------------------");
            Robot robot4 = new SpecialeRobot("Lieven");

            // ----controles uitvoeren
            Console.WriteLine(robot4.Naam == "Lieven");
            Console.WriteLine(robot4.Positie.X == 0);
            Console.WriteLine(robot4.Positie.Y == 0);
            Console.WriteLine(robot4.Richting == Richting.Boven);

            Console.WriteLine("8 ------------------------------------------");
            Robot robot5 = new SpecialeRobot("Marleen", new Positie(4, 6));

            // ----controles uitvoeren
            Console.WriteLine(robot5.Naam == "Marleen");
            Console.WriteLine(robot5.Positie.X == 4);
            Console.WriteLine(robot5.Positie.Y == 6);
            Console.WriteLine(robot5.Richting == Richting.Boven);

            Console.WriteLine("9 ------------------------------------------");
            robot4.Stap(); //2 stappen zetten
                           // ----controles uitvoeren
            Console.WriteLine(robot4.Naam == "Lieven");
            Console.WriteLine(robot4.Positie.X == 0);
            Console.WriteLine(robot4.Positie.Y == 2);
            Console.WriteLine(robot4.Richting == Richting.Boven);

            Console.WriteLine("10 ------------------------------------------");
            robot5.Stap();  //2 stappen zetten
            robot5.Stap(4); //4 stappen zetten
            robot5.Draai();
            robot5.Draai();
            robot5.Draai();
            robot5.Stap(); //2 stappen zetten
                           // ----controles uitvoeren
            Console.WriteLine(robot5.Naam == "Marleen");
            Console.WriteLine(robot5.Positie.X == 2);
            Console.WriteLine(robot5.Positie.Y == 12);
            Console.WriteLine(robot5.Richting == Richting.Links);

            // Toon de sporen van de robots
            Console.WriteLine("11 ------------------------------------------");
            robot1.Spoor.ToonSpoor();       // 2 - 3 -> 2 - 4 -> 2 - 5

            Console.WriteLine("12 ------------------------------------------");
            robot5.Spoor.ToonSpoor();       // 4 - 6 -> 4 - 8 -> 4 - 12 -> 2 - 12
            Console.WriteLine();

            // Maak een collectie van Robot-objecten
            Console.WriteLine("13 ------------------------------------------");
            Robots robots1 = new Robots();

            robots1.Add(new Robot("Katrien"));
            robots1.Add(new Robot("Frederick", new Positie(2, 3)));
            // ----controles uitvoeren
            Console.WriteLine(robots1[0].Naam == "Katrien");
            Console.WriteLine(robots1[0].Positie.X == 0);
            Console.WriteLine(robots1[0].Positie.Y == 0);
            Console.WriteLine(robots1[0].Richting == Richting.Boven);

            Console.WriteLine(robots1["Frederick"].Naam == "Frederick");
            Console.WriteLine(robots1["Frederick"].Positie.X == 2);
            Console.WriteLine(robots1["Frederick"].Positie.Y == 3);
            Console.WriteLine(robots1["Frederick"].Richting == Richting.Boven);


            // Laat alle robot-objecten binnen de collectie bepaalde methoden uitvoeren
            Console.WriteLine("14 ------------------------------------------");
            robots1.StapAllemaal();
            robots1.StapAllemaal();

            Console.WriteLine(robots1[0].Positie.X == 0);
            Console.WriteLine(robots1[0].Positie.Y == 2);
            Console.WriteLine(robots1[0].Richting == Richting.Boven);

            Console.WriteLine(robots1[1].Positie.X == 2);
            Console.WriteLine(robots1[1].Positie.Y == 5);
            Console.WriteLine(robots1[1].Richting == Richting.Boven);

            Console.WriteLine("15 ------------------------------------------");
            robots1.DraaiAllemaal();

            Console.WriteLine(robots1[0].Positie.X == 0);
            Console.WriteLine(robots1[0].Positie.Y == 2);
            Console.WriteLine(robots1[0].Richting == Richting.Rechts);

            Console.WriteLine(robots1[1].Positie.X == 2);
            Console.WriteLine(robots1[1].Positie.Y == 5);
            Console.WriteLine(robots1[1].Richting == Richting.Rechts);

            Console.WriteLine("16 ------------------------------------------");
            robots1[0].Draai();

            Console.WriteLine(robots1["Katrien"].Positie.X == 0);
            Console.WriteLine(robots1["Katrien"].Positie.Y == 2);
            Console.WriteLine(robots1["Katrien"].Richting == Richting.Beneden);

            Console.WriteLine(robots1[1].Positie.X == 2);
            Console.WriteLine(robots1[1].Positie.Y == 5);
            Console.WriteLine(robots1[1].Richting == Richting.Rechts);

            Console.WriteLine("17 ------------------------------------------");
            robots1[1].Stap();

            Console.WriteLine(robots1[0].Positie.X == 0);
            Console.WriteLine(robots1[0].Positie.Y == 2);
            Console.WriteLine(robots1[0].Richting == Richting.Beneden);

            Console.WriteLine(robots1[1].Positie.X == 3);
            Console.WriteLine(robots1[1].Positie.Y == 5);
            Console.WriteLine(robots1[1].Richting == Richting.Rechts);

            Console.WriteLine("18 ------------------------------------------");
            // Schrijf een methode om te testen wie het verst staat op de x-as
            Console.WriteLine(robots1.VerstOpX().Naam == "Frederick");

            // Schrijf een methode om te testen wie het verst staat op de y-as
            Console.WriteLine(robots1.VerstOpY().Naam == "Conny");


            Console.WriteLine("19 ------------------------------------------");
            // Schrijf een methode om te testen wie reeds de meeste stappen heeft gezet
            Console.WriteLine(robots1.MeesteStappen().Naam == "Katrien");

            Console.WriteLine("20 ------------------------------------------");
            // Schrijf een methode om te testen wie allemaal op het punt (0,2) staat? Indien niemand, geef dan een mooie melding. Indien meerdere, geef dan alle namen terug (neem een andere punt bijvoorbeeld om dit te testen).
            robots1.RobotsOpPunt(0, 2);
            robots1.RobotsOpPunt(2, 6);

            //robots1.PrintRobots();
            //robots1["Katrien"].Draai();
            //robots1.PrintRobots();
            //robots1["Katrien"].Draai();
            //robots1.PrintRobots();
            //robots1["Katrien"].Stap(3);
            //robots1["Katrien"].Draai();
            //robots1["Katrien"].Stap(3);
            //robots1.PrintRobots();
            //robots1.RobotsOpPunt(3, 5);

            /*
             * Console.WriteLine("21 ------------------------------------------");
             * // Schrijf een methode om te testen wie allemaal op het punt (0,2) heeft gestaan? Indien niemand, geef dan een mooie melding. Indien meerdere, geef dan alle namen terug (neem een andere punt bijvoorbeeld om dit te testen).
             * robots1["Katrien"].Stap();
             * robots1["Frederick"].Draai();
             * robots1["Frederick"].Stap(3);
             * robots1["Frederick"].Draai();
             * robots1["Frederick"].Stap(3);
             * robots1["Frederick"].Draai();
             * robots1["Frederick"].Stap();
             * robots1.PrintRobots();
             * robots1.RobotsOpPuntGestaan(0, 2);
             *
             *
             * Console.WriteLine("22 ------------------------------------------");
             * // Schrijf een methode die weergeeft of er ooit ergens op hetzelfde moment 2 robots op hetzelfde punt gestaan hebben. Eventueel moet je een bepaalde robot naar hetzelfde punt brengen om dit te testen
             */

            Console.WriteLine("23 ------------------------------------------");
            // Schrijf een methode die weergeeft waar iedereen momenteel staat (naam + welk punt + richting)
            robots1.PrintRobots();

            Console.ReadLine();
        }
예제 #2
0
 public Robot(string naam, Positie positie) : this(naam)
 {
     this.Positie = positie;
     this.Spoor.Add(new Positie(this.Positie.X, this.Positie.Y));
 }
예제 #3
0
 public void Add(Positie positie)
 {
     Count = Count + 1;
     Array.Resize(ref _Items, Count);
     _Items[(Count - 1)] = positie;
 }
예제 #4
0
 public SpecialeRobot(string naam, Positie positie) : base(naam, positie)
 {
 }