Exemple #1
0
        public void LangeAfstand()
        {
            var randomX = TestHelper.CreateRandom <int>(501, 10000);
            var randomY = TestHelper.CreateRandom <int>(501, 10000);

            _bestemming = new Coordinaten(randomX, randomY);
        }
        public virtual Coordinaten Stuur(Richting richting)
        {
            if (VoertuigStatus != VoertuigStatus.Gestart)
            {
                return(Positie);
            }

            switch (richting)
            {
            case Richting.Noord:
                Positie = new Coordinaten(Positie.X, Positie.Y + Snelheid);
                break;

            case Richting.Oost:
                Positie = new Coordinaten(Positie.X + Snelheid, Positie.Y);
                break;

            case Richting.West:
                Positie = new Coordinaten(Positie.X - Snelheid, Positie.Y);
                break;

            case Richting.Zuid:
                Positie = new Coordinaten(Positie.X, Positie.Y - Snelheid);
                break;

            default:
                throw new NotSupportedException($"Kan richting {richting} niet verwerken.");
            }

            return(Positie);
        }
Exemple #3
0
        public void MaakVoertuig()
        {
            var huidigePositie = new Coordinaten(0, 0);

            var factory = new VoertuigFactory();

            _voertuig = factory.Create(huidigePositie, _bestemming);
        }
Exemple #4
0
 public Auto(Coordinaten waarDeAutoStaat) : base(waarDeAutoStaat)
 {
     Zitplaatsen = new[]
     {
         new BestuurdersZitplaats(),
         new Zitplaats(),
         new Zitplaats(),
         new Zitplaats(),
         new Zitplaats()
     };
 }
Exemple #5
0
        public void MaakRijdendeAuto()
        {
            _voertuig = new Auto(TestHelper.CreateRandom <Coordinaten>());

            var bestuurder = TestHelper.CreateRandom <Bestuurder>();

            bestuurder.StapIn(_voertuig, _voertuig.BestuurdersPlaatsen.First());

            _voertuig.Start();
            _voertuig.Accellereer();

            _positie = _voertuig.Positie;
        }
        public Vliegtuig(Coordinaten waarHetVliegtuigStaat) : base(waarHetVliegtuigStaat)
        {
            var zitplaatsen = new List <Zitplaats>();

            while (zitplaatsen.Count() < 100)
            {
                zitplaatsen.Add(new Zitplaats());
            }

            zitplaatsen.Add(new BestuurdersZitplaats());
            zitplaatsen.Add(new BestuurdersZitplaats()); // Voor de copiloot
            Zitplaatsen = zitplaatsen;
        }
        public Voertuig Create(Coordinaten huidigePositie, Coordinaten bestemming)
        {
            const int nearby = 500;

            var distance = huidigePositie.CalculateDistance(bestemming);

            if (distance < nearby)
            {
                return(new Auto(huidigePositie));
            }

            return(new Vliegtuig(huidigePositie));
        }
Exemple #8
0
        public void AlsCoordinatenHetzelfdeZijn_DanEqualsGeeftTrueTerug()
        {
            // Arrange
            var coordinaat1 = TestHelper.CreateRandom <long>();
            var coordinaat2 = TestHelper.CreateRandom <long>();

            var coordinaten1 = new Coordinaten(coordinaat1, coordinaat2);
            var coordinaten2 = new Coordinaten(coordinaat1, coordinaat2);

            // Act
            var resultaat = coordinaten1.Equals(coordinaten2);

            // Assert
            Assert.IsTrue(resultaat);
        }
Exemple #9
0
        public Coordinaten KoordinatenWGS84()
        {
            if (!string.IsNullOrWhiteSpace(KoordinatenRW) && !string.IsNullOrWhiteSpace(KoordinatenHW))
            {
                var _coordinaten = new Coordinaten();
                _coordinaten.GaussToWGS84(Convert.ToDouble(KoordinatenRW), Convert.ToDouble(KoordinatenHW));
                if (_coordinaten.Latitude > 0 && _coordinaten.Longitude > 0)
                {
                    return(_coordinaten);
                }
                Logger.WriteDebug(MethodBase.GetCurrentMethod(), "Gauß-Krüger-Koordinaten -> not found");
            }

            return(null);
        }
Exemple #10
0
        public void AlsCoordinatenVerschillen_DanEqualsGeeftFalseTerug()
        {
            // Arrange
            var coordinaat1 = TestHelper.CreateRandom <long>();
            var coordinaat2 = TestHelper.CreateRandom <long>();
            var coordinaat3 = coordinaat1 + 1;
            var coordinaat4 = coordinaat2 + 1;

            var coordinaten1 = new Coordinaten(coordinaat1, coordinaat2);
            var coordinaten2 = new Coordinaten(coordinaat3, coordinaat4);

            // Act
            var resultaat = coordinaten1.Equals(coordinaten2);

            // Assert
            Assert.IsFalse(resultaat);
        }
Exemple #11
0
        public void MaakVliegendVliegtuig()
        {
            _voertuig = new Vliegtuig(TestHelper.CreateRandom <Coordinaten>());

            var piloot = TestHelper.CreateRandom <Bestuurder>();

            piloot.StapIn(_voertuig, _voertuig.BestuurdersPlaatsen.First());

            var copiloot = TestHelper.CreateRandom <Bestuurder>();

            copiloot.StapIn(_voertuig, _voertuig.BestuurdersPlaatsen.Last());

            _voertuig.Start();
            _voertuig.Accellereer();

            _positie = _voertuig.Positie;
        }
Exemple #12
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!");
            }
        }
        public void Bestuur(Voertuig voertuig, Coordinaten bestemming)
        {
            long afstand  = 0;
            var  richting = Richting.Noord;

            if (bestemming.X > voertuig.Positie.X)
            {
                afstand  = bestemming.X - voertuig.Positie.X;
                richting = Richting.Oost;
            }

            if (bestemming.X < voertuig.Positie.X)
            {
                afstand  = voertuig.Positie.X - bestemming.X;
                richting = Richting.West;
            }

            if (bestemming.Y > voertuig.Positie.Y)
            {
                afstand  = bestemming.Y - voertuig.Positie.Y;
                richting = Richting.Noord;
            }

            if (bestemming.Y < voertuig.Positie.Y)
            {
                afstand  = voertuig.Positie.Y - bestemming.Y;
                richting = Richting.Zuid;
            }

            while (afstand < voertuig.Snelheid)
            {
                voertuig.Rem();
            }

            while (afstand > voertuig.Snelheid && voertuig.Snelheid < voertuig.MaximaleSnelheid)
            {
                voertuig.Accellereer();
            }

            voertuig.Stuur(richting);
        }
 public void MaakBestuurderIn(string richting)
 {
     _positieBestuurder = ParseRichting(richting);
 }
 public void MaakBestemmingIn(string richting)
 {
     _positieBestemming = ParseRichting(richting);
 }
Exemple #16
0
        public void KorteAfstand()
        {
            var randomX = TestHelper.CreateRandom <int>(1, 500);

            _bestemming = new Coordinaten(randomX, 0);
        }
 protected Voertuig(Coordinaten waarHetVoertuigStaat)
 {
     Positie = waarHetVoertuigStaat;
 }
Exemple #18
0
        public void CreateAlarm(Einsatz einsatz)
        {
            if (!IsAuthTokenValid())
            {
                return;
            }

            if (einsatz == null)
            {
                throw new ArgumentException("einsatz");
            }

            var operation = new FireboardOperation();

            operation.Version   = "1.0";
            operation.UniqueId  = Guid.NewGuid().ToString("N");
            operation.BasicData = new BasicData
            {
                ExternalNumber = "RISv" + Assembly.GetExecutingAssembly().GetName().Version,
                Keyword        = einsatz.Stichwort,
                Announcement   = einsatz.Schlagwort,
                Location       = $"{einsatz.Straße} {einsatz.Hausnummer}",
                Situation      = einsatz.Bemerkung
                                 //_text += "EINSATZMITTEL:" + Environment.NewLine;
                                 //foreach (Vehicle _vehicle in e.Einsatz.Einsatzmittel)
                                 //{
                                 //    _text += _vehicle.Name + Environment.NewLine;
                                 //}
            };

            if (!string.IsNullOrWhiteSpace(einsatz.KoordinatenRW) && !string.IsNullOrWhiteSpace(einsatz.KoordinatenHW))
            {
                var _coordinaten = new Coordinaten();
                _coordinaten.GaussToWGS84(Convert.ToDouble(einsatz.KoordinatenRW),
                                          Convert.ToDouble(einsatz.KoordinatenHW));

                operation.BasicData.Geo_location = new Geo_location
                {
                    Latitude  = _coordinaten.Latitude,
                    Longitude = _coordinaten.Longitude
                };
            }

            var client = new RestClient(Settings.Default.Fireboard_WebserviceUrl);

            client.UserAgent = "RISv" + Assembly.GetExecutingAssembly().GetName().Version;
            var request = new RestRequest(@"api?authkey={authkey}&call={calltype}", Method.POST);

            request.AddUrlSegment("authkey", Settings.Default.Fireboard_AuthKey);
            request.AddUrlSegment("calltype", "operation_data");
            request.RequestFormat = DataFormat.Xml;
            request.XmlSerializer = new DotNetXmlSerializer();
            request.AddXmlBody(operation);

            var response = client.Execute(request);

            if (response.ErrorException != null)
            {
                Logger.WriteError(MethodBase.GetCurrentMethod(), "Error retrieving response: " + response.ErrorMessage);
            }
        }