Beispiel #1
0
        public void MaakVoertuig()
        {
            var huidigePositie = new Coordinaten(0, 0);

            var factory = new VoertuigFactory();

            _voertuig = factory.Create(huidigePositie, _bestemming);
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            var random = new Random(42);

            while (true)
            {
                // Setup..
                var huidigeLocatie = new Coordinaten(random.Next(1000), random.Next(1000));
                var bestemming     = new Coordinaten(random.Next(1000), random.Next(1000));

                var bestuurder1 = new Bestuurder();
                var bestuurder2 = new Bestuurder();
                var passagier   = new Reiziger();

                // Kies een voertuig en stap in
                var voertuigFactory = new VoertuigFactory();
                var voertuig        = voertuigFactory.Create(huidigeLocatie, bestemming);
                bestuurder1.StapIn(voertuig, voertuig.BestuurdersPlaatsen.First());
                passagier.StapIn(voertuig, voertuig.PassagiersPlaatsen.First());

                if (voertuig is Vliegtuig)
                {
                    bestuurder2.StapIn(voertuig, voertuig.BestuurdersPlaatsen.Last()); // Wordt copiloot!
                }
                else
                {
                    bestuurder2.StapIn(voertuig,
                                       voertuig.PassagiersPlaatsen.Last()); // Een auto heeft maar 1 bestuurdersplaats
                }

                // Vertrek naar het eindpunt
                voertuig.Start();
                while (!voertuig.Positie.Equals(bestemming))
                {
                    Console.WriteLine(
                        $"Op weg naar X: {bestemming.X} Y: {bestemming.Y}, nu op X: {voertuig.Positie.X}, Y:{voertuig.Positie.Y} met {voertuig.GetType()}");
                    bestuurder1.Bestuur(voertuig, bestemming);
                    Thread.Sleep(100);
                }

                Console.WriteLine(
                    $"Op weg naar X: {bestemming.X} Y: {bestemming.Y}, nu op X: {voertuig.Positie.X}, Y:{voertuig.Positie.Y} met {voertuig.GetType()}");
                Console.WriteLine("Gearriveerd!");
            }
        }