Exemplo n.º 1
0
        private async Task <Boom> KortsteBoomAsync(Aap a)
        {
            List <Boom> ZonderBezochteBomen = listBomen.Except(a.bezochteBomen).ToList();
            Boom        dichtsteBoom        = await Task.Run(() => ZonderBezochteBomen.OrderBy(ZBB => AfstandTussenTweeBomen(a.currentBoom(), ZBB)).FirstOrDefault());

            return(dichtsteBoom);
        }
Exemplo n.º 2
0
        private double AfstandBerekenenBorder(Boom b)
        {
            double d = (new List <double>()
            {
                b.x - minGrooteX,
                maxGrooteX - b.x,
                b.x - minGrooteY,
                maxGrooteY - b.x,
            }.Min());

            return(d);
        }
Exemplo n.º 3
0
        public async Task AapSpring(Aap a)
        {
            if (a.bezochteBomen.Count() == 0)
            {
                a.bezochteBomen.Add(listBomen[(random.Next(listBomen.Count))]);
            }

            //   Boom currentBoomMetAap = a.currentBoom();

            Boom kortsteBoom = await KortsteBoomAsync(a);

            double checkBoom = AfstandTussenTweeBomen(a.currentBoom(), kortsteBoom);
            double checkRand = AfstandBerekenenBorder(a.currentBoom());

            if (checkRand < checkBoom)
            {
                a.currentBoom().setzitErEenAapOpDezeBoom(false);

                Console.WriteLine("Aap:{0} is uit het bos", a.naam);
                await System.IO.File.AppendAllTextAsync(@"C:\Users\lieke\OneDrive\scool\prog 4\BosApen\BosApen\test.txt", $"Aap:{a.naam} is uit het bos\n");

                ctx.Logs.Add(new Log(this.bosID, a.id, $"Aap:{a.naam} is uit het bos"));
                ctx.SaveChanges();
                // System.IO.File.WriteAllText(@"C:\Users\lieke\OneDrive\scool\prog 4\BosApen\BosApen\test.txt", $"Aap:{a.naam} is uit het bos");

                //  using (StreamWriter outputFile = new StreamWriter(@"C:\Users\lieke\OneDrive\scool\prog 4\BosApen\BosApen\test.txt"))
                //   {
                //       await outputFile.WriteAsync($"Aap:{a.naam} is uit het bos");
                //   }

                listApen.Remove(a);
            }
            else
            {
                a.currentBoom().setzitErEenAapOpDezeBoom(false);
                a.bezochteBomen.Add(kortsteBoom);
                a.currentBoom().setzitErEenAapOpDezeBoom(true);
                Console.WriteLine("Aap:{0} BoomId:{1} Coordinaten:({2},{3})", a.naam, a.currentBoom().id, a.currentBoom().x, a.currentBoom().y);
                await System.IO.File.AppendAllTextAsync(@"C:\Users\lieke\OneDrive\scool\prog 4\BosApen\BosApen\test.txt", $"Aap:{a.naam} BoomId:{a.currentBoom().id} Coordinaten:({a.currentBoom().x},{a.currentBoom().y})\n");

                ctx.Logs.Add(new Log(this.bosID, a.id, $"Aap:{a.naam} BoomId:{a.currentBoom().id} Coordinaten:({a.currentBoom().x},{a.currentBoom().y})"));
                ctx.SaveChanges();

                // System.IO.File.WriteAllText(@"C:\Users\lieke\OneDrive\scool\prog 4\BosApen\BosApen\test.txt", $"Aap:{a.naam} BoomId:{a.currentBoom().id} Coordinaten:({a.currentBoom().x},{a.currentBoom().y})");

                //    using (StreamWriter outputFile = new StreamWriter(@"C:\Users\lieke\OneDrive\scool\prog 4\BosApen\BosApen\test.txt"))
                //      {
                //         await outputFile.WriteAsync($"Aap:{a.naam} BoomId:{a.currentBoom().id} Coordinaten:({a.currentBoom().x},{a.currentBoom().y})");
                //  }
            }
        }
Exemplo n.º 4
0
 public Bos(int bosID, int minGrooteX, int minGrooteY, int maxGrooteX, int maxGrooteY, int amountBomen)
 {
     this.bosID      = bosID;
     this.minGrooteX = minGrooteX;
     this.minGrooteY = minGrooteY;
     this.maxGrooteX = maxGrooteX;
     this.maxGrooteY = maxGrooteY;
     for (int i = 0; i < amountBomen; i++)
     {
         Boom t = new Boom(
             random.Next(minGrooteX, maxGrooteX),
             random.Next(minGrooteY, maxGrooteY), i);
         listBomen.Add(t);
     }
     ;
 }
Exemplo n.º 5
0
        private double AfstandTussenTweeBomen(Boom t1, Boom t2)
        {
            double d = Math.Sqrt(Math.Pow(t1.x - t2.x, 2) + Math.Pow(t1.y - t2.y, 2));

            return(d);
        }
Exemplo n.º 6
0
 public void spring(Boom boom)
 {
     bezochteBomen.Add(boom);
     this.x = boom.x;
     this.y = boom.y;
 }
Exemplo n.º 7
0
        public bool heeftBoomBezocht(Boom boom)

        {
            return(bezochteBomen.Any(bm => bm.x == boom.x &&
                                     bm.y == boom.y));
        }