void Start()
    {
        clickSound = Deer.GetComponent <AudioSource>();
        bgMusic    = GetComponent <AudioSource>();
        int randomnum = Random.Range(0, 5);

        for (int i = 0; i < randomnum; i++)
        {
            randomPos(x);
        }
        check2        = 0;
        check         = 0;
        time          = 0;
        BeariniPost   = Bear.transform.position;
        FoxiniPost    = Fox.transform.position;
        FroginiPost   = Frog.transform.position;
        MiceiniPost   = Mice.transform.position;
        CatiniPost    = Cat.transform.position;
        KanciliniPost = Kancil.transform.position;
        CowiniPost    = Cow.transform.position;
        DeeriniPost   = Deer.transform.position;

        Cat.SetActive(false);
        Cow.SetActive(false);
        Kancil.SetActive(false);
        Bear.SetActive(false);
        Fox.SetActive(false);
        Frog.SetActive(false);
        Mice.SetActive(false);
        buttonnext1.SetActive(false);
    }
        public void CallByNameTest()
        {
            //expected
            Horse   horse   = new Horse("Шептало", "ч");
            Deer    deer    = new Deer("Олень", "ч");
            Deer    deer1   = new Deer("Олень", "ч");
            Pasture pasture = new Pasture();

            pasture.Add(horse);
            pasture.Add(deer);
            pasture.Add(deer1);
            PastureStub pastureStub = new PastureStub();

            pasture.pasture = pastureStub;
            string        expexted     = "expexted";
            List <string> expectedList = new List <string>()
            {
                "expectedList"
            };

            Mock.Arrange(() => deer.Voice()).Returns(expexted);
            Mock.Arrange(() => deer1.Voice()).Returns(expexted);
            Mock.Arrange(() => pastureStub.Call(Arg.IsAny <string>())).Returns(expectedList);

            // actual
            List <string> list = pasture.Call("Олень");

            Assert.AreEqual(expexted, list[0]);
            Assert.AreEqual(expexted, list[1]);
            Assert.AreEqual(expectedList[0], list[2]);
            Assert.AreEqual(3, list.Count);
        }
 void Start()
 {
     healthSlider          = GetComponent <Slider> ();
     healthText            = GetComponentInChildren <Text> ();
     healthSlider.maxValue = Deer.GetInstance().maxHealth;
     healthSlider.value    = Deer.GetInstance().maxHealth;
     healthText.text       = Deer.GetInstance().currentHealth + " / " + Deer.GetInstance().maxHealth;
 }
Exemple #4
0
 void OnTriggerEnter2D(Collider2D col)
 {
     if (col.tag == "DeerBody")
     {
         Deer.GetInstance().currentHealth -= damage;
         DeerHealthSlider.GetInstance().UpdateHealth();
         Destroy(gameObject);
     }
 }
Exemple #5
0
        private int Race(Deer deer, int Duration)
        {
            for (int i = 0; i < Duration; i++)
            {
                deer.Step();
            }


            return(deer.CurrentLocation);
        }
Exemple #6
0
 // Update is called once per frame
 void Update()
 {
     if (numDeer < leastNumDeer && timeSinceSpawned > coolDown)
     {
         //MAKE DEER
         numDeer++;
         Deer deerInstance = Instantiate(deer, gameObject.transform.position, Quaternion.identity);
         timeSinceSpawned = 0;
     }
     timeSinceSpawned += Time.deltaTime;
 }
Exemple #7
0
    public override bool Preform(GameObject _agent)
    {
        Deer d = _agent.GetComponent <Deer>();

        d.RunFrom(targetCaveman.transform);
        if (Vector3.Distance(transform.position, targetCaveman.transform.position) > 20)
        {
            isSafe = true;
        }
        return(true);
    }
Exemple #8
0
 void Awake()
 {
     if (instance == null)
     {
         instance = this;
     }
     else
     {
         Destroy(this);
     }
 }
Exemple #9
0
        public string Execute(IList <string> parameters)
        {
            string name     = parameters[1];
            IPoint position = this.LocationParser.ParsePoint(parameters[2]);

            var deer = new Deer(name, position);

            Engine.AllOgranisms.Add(deer);
            Engine.Animals.Add(deer);

            string message = $"Deer {name} was created at ({position.X}, {position.Y})";

            return(message);
        }
Exemple #10
0
        public void DeerVoice()
        {
            // expected
            string nameM           = "Олень";
            string nameF           = "Оленуха";
            string deerMaleVoice   = "ООЕЕ! Мене звуть Олень, я олень!";
            string deerFemaleVoice = "ООЕЕ! Мене звуть Оленуха, я олениха!";

            // actual
            Animal maleDeer   = new Deer(nameM, "ч");
            Animal femaleDeer = new Deer(nameF, "ж");

            Assert.AreEqual(deerMaleVoice, maleDeer.Voice());
            Assert.AreEqual(deerFemaleVoice, femaleDeer.Voice());
        }
Exemple #11
0
    /// <summary>
    /// Include is needed for `deer.Elves`.
    /// </summary>
    public void AddElf1()
    {
        using var context = new AnimalContext();
        Deer deer = context.Deers
                    // here
                    .Include(deer => deer.Elves)
                    .First(deer => deer.Elves.Count == 1);

        deer.Elves.Add(new Elf {
            Name = "Legolas"
        });

        context.SaveChanges();

        deer = context.Deers.First(deer => deer.Elves.Any(elf => elf.Name == "Legolas"));
        Console.WriteLine(deer);
    }
Exemple #12
0
    /// <summary>
    /// Include is needed.
    /// </summary>
    public void ReplaceElvesCollection()
    {
        using var context = new AnimalContext();

        Deer deer = context.Deers
                    //.Include(deer => deer.Elves)
                    .First();

        Console.ForegroundColor = ConsoleColor.Magenta;

        //List<int> elfIds = new List<int>();
        //foreach (var elf in deer.Elves)
        //{
        //    elfIds.Add(elf.Id);
        //    Console.WriteLine(elf.Id);
        //}

        Console.ForegroundColor = ConsoleColor.White;

        deer.Elves = new List <Elf>()
        {
            new Elf {
                Name = "Legolas"
            }
        };
        context.SaveChanges();


        //List<int> elfIds = new List<int>() { 1, 2 };
        //List<Elf> elves = context.Elves.Where(elf => elfIds.Contains(elf.Id)).ToList();

        //foreach (var elf in elves)
        //{
        //    Console.WriteLine(elf);
        //}

        deer = context.Deers.Include(item => item.Elves)
               //.Include(deer => deer.Elves)
               .First();

        foreach (var elf in deer.Elves)
        {
            Console.WriteLine(elf);
        }
    }
Exemple #13
0
    void Start()
    {
        animator          = gameObject.GetComponent <Animator>();
        gm                = GameObject.FindGameObjectWithTag("GM").GetComponent <GameMaster>();
        menuSystem        = GameObject.FindGameObjectWithTag("MenuSystem").GetComponent <MenuSystem>();
        deer              = GetComponentInParent <Deer>();
        startingTransform = transform.localScale;
        switchTransform   = new Vector3(startingTransform.x * -1, startingTransform.y, startingTransform.z);

        if (SceneManager.GetActiveScene().buildIndex != gm.levelPaddingBesidesMain)
        {
            RunTimeText  = TransformDeepChildExtension.FindDeepChild(gameObject.transform, "RunTimeText").GetComponent <Text>();
            BestTimeText = TransformDeepChildExtension.FindDeepChild(gameObject.transform, "BestTimeText").GetComponent <Text>();

            RunTimeText.text  = "";
            BestTimeText.text = "";
        }
    }
 public void allinactive()
 {
     Cat.SetActive(false);
     Cow.SetActive(false);
     Kancil.SetActive(false);
     Deer.SetActive(false);
     Bearblack.SetActive(false);
     Foxblack.SetActive(false);
     Frogblack.SetActive(false);
     Bear.SetActive(false);
     Fox.SetActive(false);
     Frog.SetActive(false);
     Mice.SetActive(false);
     Deer.SetActive(false);
     Catblack.SetActive(false);
     Miceblack.SetActive(false);
     Kancilblack.SetActive(false);
     Cowblack.SetActive(false);
     Deerblack.SetActive(false);;
 }
Exemple #15
0
 public void DestroyCharacter(GameObject character)
 {
     if (character.tag == "Deer")
     {
         Deer deer = character.GetComponent <Deer>();
         //KillDeer(deer);
     }
     else if (character.tag == "Player")
     {
         Debug.Log("Destroy Player - Player Identified");
         Player player = character.GetComponent <Player>();
         KillPlayer(player);
     }
     else if (character.tag == "Arrow")
     {
         Destroy(character);
     }
     else if (character.tag == "ChargerEnemy" || character.tag == "RangedEnemy")
     {
         Destroy(character);
     }
 }
Exemple #16
0
        // not sure how to add the code to add the score and pick it up

        /*private void CoinsCollection()
         * {
         * if (Deer.Bounds.IntersectsWith(BonusPoints.Bounds))
         * {
         *     score = score + 15;
         *     ScoreLabel.Text = score.ToString();
         * }
         *
         * }*/
        //G A M E  K E Y  C O N T R O L S

        //FOR THE PLAYER TO MOVE IN ALL DIRECTIONS
        private void Game_KeyDown(object sender, KeyEventArgs e)
        {
            switch (e.KeyCode)
            {
            case Keys.Up:
                Deer.MoveForward();
                break;

            case Keys.W:
                Deer.MoveForward();
                break;

            case Keys.Down:
                Deer.MoveBack();
                break;

            case Keys.S:
                Deer.MoveBack();
                break;

            case Keys.Right:
                Deer.MoveRight();
                break;

            case Keys.D:
                Deer.MoveRight();
                break;

            case Keys.Left:
                Deer.MoveLeft();
                break;

            case Keys.A:
                Deer.MoveLeft();
                break;
            }
        }
        public void PastureAddTest()
        {
            //expected
            string expextedAdded = "Тварину заселено.";
            string expextedPastureOvercrowded = "Неможливо заселити тварину! Немає вiльних пасовиськ!";
            // Хочемо отримати відповідь від повністю забитого пасовища
            Horse   horse       = new Horse("Знайда", "ч");
            Pasture overcrowded = new Pasture();

            for (int i = 0; i < 20; i++)
            {
                Horse crowd = new Horse("Табун", "ч");
                overcrowded.animals.Add(crowd);
            }
            Mock.Arrange(() => overcrowded.Add(horse)).Returns(expextedPastureOvercrowded);
            // Хочемо отримати підтвердження від пасовища, що передало тварину іншому пасовищу
            Deer    lostDeer             = new Deer("Приблуда", "ч");
            Pasture overcrowdedWithDeers = new Pasture();

            for (int i = 0; i < 20; i++)
            {
                Deer crowd = new Deer("Стадо", "ч");
                overcrowdedWithDeers.animals.Add(crowd);
            }
            Mock.Arrange(() => overcrowdedWithDeers.Add(lostDeer)).Returns(expextedAdded);

            //actual
            string  actualOvercrowded = overcrowded.Add(horse);
            Deer    deer        = new Deer("Олень", "ч");
            Pasture pasture     = new Pasture();
            string  actualAdded = pasture.Add(deer);
            string  redirected  = overcrowdedWithDeers.Add(lostDeer);

            Assert.AreEqual(expextedAdded, actualAdded);
            Assert.AreEqual(expextedPastureOvercrowded, actualOvercrowded);
            Assert.AreEqual(expextedAdded, redirected);
        }
Exemple #18
0
        public void DeerConstructor()
        {
            // expected
            string species   = "deer";
            double dailyFood = 1.0;
            string nameM     = "Олень";
            string male      = "m";
            string nameF     = "Оленуха";
            string female    = "f";

            // actual
            Animal maleLion   = new Deer(nameM, "ч");
            Animal femaleLion = new Deer(nameF, "ж");

            Assert.AreEqual(species, maleLion.species);
            Assert.AreEqual(nameM, maleLion.name);
            Assert.AreEqual(male, maleLion.sex);
            Assert.AreEqual(dailyFood, maleLion.dailyFood);

            Assert.AreEqual(species, femaleLion.species);
            Assert.AreEqual(nameF, femaleLion.name);
            Assert.AreEqual(female, femaleLion.sex);
            Assert.AreEqual(dailyFood, femaleLion.dailyFood);
        }
Exemple #19
0
 //Trap the deer and rabbit if it collides only works once
 private void OnTriggerEnter2D(Collider2D collision)
 {
     if (temp == 0)
     {
         if (collision.gameObject.tag == "Deer")
         {
             Deer d = collision.gameObject.GetComponent <Deer>();
             d.runVelocity        = 0;
             d.patrolVelocity     = 0;
             d.isPatrolling       = false;
             d.transform.position = new Vector3(xPosition, yPosition);
             temp++;
         }
         else if (collision.gameObject.tag == "Rabbit")
         {
             Rabbit r = collision.gameObject.GetComponent <Rabbit>();
             r.runVelocity        = 0;
             r.patrolVelocity     = 0;
             r.isPatrolling       = false;
             r.transform.position = new Vector3(xPosition, yPosition);
             temp++;
         }
     }
 }
Exemple #20
0
 void OnTriggerEnter2D(Collider2D collider)
 {
     if (arrowState == ArrowState.flying)
     {
         if (System.Array.Exists(TagFilterArray, element => element == collider.tag))
         {
             arrowState = ArrowState.stuck;
             velocity.x = 0;
             velocity.y = 0;
             if (collider.tag == "Deer")
             {
                 Deer deer = collider.gameObject.GetComponent <Deer>();
                 deer.HitByArrow();
                 animator.Play(Fade);
             }
             if (collider.tag == "SmartRangedEnemy")
             {
                 SmartRangedEnemy enemy = collider.gameObject.GetComponent <SmartRangedEnemy>();
                 enemy.HitByArrow();
                 animator.Play(Fade);
             }
             if (collider.tag == "Player")
             {
                 Player player = collider.gameObject.GetComponent <Player>();
                 player.HitByEnemy();
                 animator.Play(Fade);
             }
             if (collider.tag == "Spiderwalker")
             {
                 Spiderwalker enemy = collider.gameObject.GetComponent <Spiderwalker>();
                 enemy.HitByArrowArmor();
                 animator.Play(Fade);
             }
             if (collider.tag == "SWFoot")
             {
                 Spiderwalker enemy = collider.transform.root.GetComponent <Spiderwalker>();
                 enemy.HitByArrowArmor();
                 animator.Play(Fade);
             }
             if (collider.tag == "SWViewport")
             {
                 Spiderwalker enemy = collider.transform.root.GetComponent <Spiderwalker>();
                 enemy.HitByArrowFace();
                 animator.Play(Fade);
             }
             if (collider.tag == "SpiderShooter")
             {
                 SpiderShooter enemy = collider.transform.root.GetComponent <SpiderShooter>();
                 print(enemy);
                 enemy.HitByArrowArmor();
                 animator.Play(Fade);
             }
             if (collider.tag == "SpiderBall")
             {
                 SpiderShooter enemy = collider.transform.root.GetComponent <SpiderShooter>();
                 enemy.HitByArrowFace();
                 animator.Play(Fade);
             }
         }
     }
 }
Exemple #21
0
        //ADDS ELEMENTS TO FORM
        // private DateTime gameTime = DateTime.Now;
        private void GameTimer_Tick(object sender, EventArgs e)
        {
            int randomLane = randomGenerator.Next(0, 4);

            //6 cars start spread out on board when game starts,
            //then the four others start at x = 0(under left border) and each start moving at a random time between 0 and 2 seconds.
            for (int i = 0; i < 4; i++)
            {
                if (DateTime.Now.Subtract(gameTime) > TimeSpan.FromMilliseconds(0))
                {
                    if (level == 1)
                    {
                        Cars[i].DriveBy1();
                        CarReset(randomLane);
                    }
                    else if (level == 2)
                    {
                        Cars[i].DriveBy2();
                        CarReset(randomLane);
                    }
                    else if (level == 3)
                    {
                        Cars[i].DriveBy3();
                        CarReset(randomLane);
                    }
                }
            }

            if (DateTime.Now.Subtract(gameTime) > TimeSpan.FromMilliseconds(0))
            {
                if (level == 1)
                {
                    Cars[4].DriveBy1();
                    CarReset(randomLane);
                }
                else if (level == 2)
                {
                    Cars[4].DriveBy2();
                    CarReset(randomLane);
                }
                else if (level == 3)
                {
                    Cars[4].DriveBy3();
                    CarReset(randomLane);
                }
            }
            if (DateTime.Now.Subtract(gameTime) > TimeSpan.FromMilliseconds(0))
            {
                if (level == 1)
                {
                    Cars[5].DriveBy1();
                    CarReset(randomLane);
                }
                else if (level == 2)
                {
                    Cars[5].DriveBy2();
                    CarReset(randomLane);
                }
                else if (level == 3)
                {
                    Cars[5].DriveBy3();
                    CarReset(randomLane);
                }
            }
            if (DateTime.Now.Subtract(gameTime) > TimeSpan.FromMilliseconds(randomDelay1))
            {
                if (level == 1)
                {
                    Cars[6].DriveBy1();
                    CarReset(randomLane);
                }
                else if (level == 2)
                {
                    Cars[6].DriveBy2();
                    CarReset(randomLane);
                }
                else if (level == 3)
                {
                    Cars[6].DriveBy3();
                    CarReset(randomLane);
                }
            }
            if (DateTime.Now.Subtract(gameTime) > TimeSpan.FromMilliseconds(randomDelay2))
            {
                if (level == 1)
                {
                    Cars[7].DriveBy1();
                    CarReset(randomLane);
                }
                else if (level == 2)
                {
                    Cars[7].DriveBy2();
                    CarReset(randomLane);
                }
                else if (level == 3)
                {
                    Cars[7].DriveBy3();
                    CarReset(randomLane);
                }
            }
            if (DateTime.Now.Subtract(gameTime) > TimeSpan.FromMilliseconds(randomDelay3))
            {
                if (level == 1)
                {
                    Cars[8].DriveBy1();
                    CarReset(randomLane);
                }
                else if (level == 2)
                {
                    Cars[8].DriveBy2();
                    CarReset(randomLane);
                }
                else if (level == 3)
                {
                    Cars[8].DriveBy3();
                    CarReset(randomLane);
                }
            }
            if (DateTime.Now.Subtract(gameTime) > TimeSpan.FromMilliseconds(randomDelay4))
            {
                if (level == 1)
                {
                    Cars[9].DriveBy1();
                    CarReset(randomLane);
                }
                else if (level == 2)
                {
                    Cars[9].DriveBy2();
                    CarReset(randomLane);
                }
                else if (level == 3)
                {
                    Cars[9].DriveBy3();
                    CarReset(randomLane);
                }
            }
            //Tests to see if the player runs into any cars
            var roadKill = from vehicle in Cars
                           where vehicle.HitTest(Deer.Bounds)
                           select vehicle;
            var crashList = roadKill.ToList();

            //When a player hits a car, the player is reset to the start point and loses a life.
            //There will also be a message telling the player how many lives they have left.
            foreach (var vehicle in crashList)
            {
                numberOfLives--;
                Deer.PlayerReset();
                if (numberOfLives > 0)
                {
                    if (numberOfLives == 2)
                    {
                        MessageBox.Show($"You were hit! You now have 2 lives remaining!");
                    }
                    else
                    {
                        MessageBox.Show($"You were hit! You now have 1 life remaining!");
                    }
                }
            }
            //Stops game when player runs out of lives
            if (numberOfLives == 0)
            {
                isPlaying         = false;
                GameTimer.Enabled = false;
                RenderOutput();
            }
            // Tests to see if the player runs into any coins

            /*var coinsCollected = from tallies in Coins
             *                   where tallies.HitTest(Deer.Bounds)
             *                   select tallies;
             * var totalPoints = coinsCollected.ToList();
             * //Coins add 15 points to total
             * foreach (var tallies in totalPoints)
             * {
             *  score = score + 15;
             * }*/
            //The level will increase by one and reset the player when they pass y = 50.
            //Points will increase by 10 everytime the deer gets to y=50
            //It will also send a message with the new level.
            if (Deer.LocationY < 50)
            {
                Deer.PlayerReset();
                level++;
                score           = score + 10;
                ScoreLabel.Text = score.ToString();
                LevelLabel.Text = level.ToString();
                if (level < 4)
                {
                    MessageBox.Show($"Level {level}");
                }
                else
                {
                    MessageBox.Show("You Win!");
                    Application.Exit();
                }
            }
            //Inserted code to lower the frequency of cars being on top of each other.
            for (int k = 0; k < 9; k++)
            {
                for (int i = 0; i < 9; i++)

                {
                    if (Cars[k].LocationX < 700)
                    {
                        if (Cars[k].HitTest(Cars[i].Bounds))
                        {
                            if (k != i)
                            {
                                Cars[k].LocationY = Lanes[randomGenerator.Next(0, 4)];
                                Cars[k].LocationX = 1;
                            }
                        }
                    }
                }
            }

            //Tests to see if tthe player ran into any coins
            //CoinsCollection();
        }
Exemple #22
0
        private static void SeedDb()
        {
            using var context = new AnimalContext();

            context.Database.Delete();
            context.Database.Create();

            #region Seed TPT (Animal)

            var beaver1 = new Beaver
            {
                Name       = "SomeBeavers1",
                Age        = 27,
                Fluffiness = FluffinessEnum.VeryFluffy,
                Size       = 15,
                IpAddress  = "127.0.0.1"
            };
            var beaver2 = new Beaver
            {
                Name       = "SomeBeavers2",
                Age        = 26,
                Fluffiness = FluffinessEnum.Fluffy,
                Size       = 14,
                IpAddress  = "127.0.0.1"
            };
            var beaver3 = new Beaver
            {
                Name       = "SomeBeavers3",
                Age        = 25,
                Fluffiness = FluffinessEnum.NotFluffy,
                Size       = 13,
                IpAddress  = "127.0.0.1"
            };
            var beaver4 = new Beaver
            {
                Name       = "SomeBeavers4",
                Age        = 24,
                Fluffiness = FluffinessEnum.Fluffy,
                Size       = 12,
                IpAddress  = "127.0.0.1"
            };
            var beaver5 = new Beaver
            {
                Name       = "SomeBeavers5",
                Age        = 23,
                Fluffiness = FluffinessEnum.VeryFluffy,
                Size       = 11,
                IpAddress  = "127.0.0.1"
            };

            var crow1 = new Crow
            {
                Name      = "Crowly",
                Age       = 5,
                Color     = "black",
                Size      = 1,
                IpAddress = "127.0.0.1"
            };
            var crow2 = new Crow
            {
                Name      = "Crowly1",
                Age       = 5,
                Color     = "black",
                Size      = 1,
                IpAddress = "127.0.0.1"
            };
            var crow3 = new Crow
            {
                Name      = "Crowly2",
                Age       = 22,
                Color     = "black",
                Size      = 4,
                IpAddress = "127.0.0.1"
            };
            var crow4 = new Crow
            {
                Name      = "Crowly3",
                Age       = 50,
                Color     = "white",
                Size      = 10,
                IpAddress = "127.0.0.1"
            };
            var crow5 = new Crow
            {
                Name      = "Crowly4",
                Age       = 5,
                Color     = "pink",
                Size      = 1,
                IpAddress = "127.0.0.1"
            };

            var deer1 = new Deer
            {
                Name      = "Dasher",
                Age       = 1,
                Horns     = true,
                IpAddress = "127.0.0.1"
            };
            var deer2 = new Deer
            {
                Name      = "Dancer",
                Age       = 2,
                Horns     = true,
                IpAddress = "127.0.0.1"
            };
            var deer3 = new Deer
            {
                Name      = "Prancer",
                Age       = 1,
                Horns     = false,
                IpAddress = "127.0.0.1"
            };
            var deer4 = new Deer
            {
                Name      = "Vixen",
                Age       = 1,
                Horns     = true,
                IpAddress = "127.0.0.1"
            };
            var deer5 = new Deer
            {
                Name      = "Comet",
                Age       = 1,
                Horns     = true,
                IpAddress = "127.0.0.1"
            };
            var deer6 = new Deer
            {
                Name      = "Cupid",
                Age       = 1,
                Horns     = false,
                IpAddress = "127.0.0.1"
            };
            var deer7 = new Deer
            {
                Name      = "Donder ",
                Age       = 1,
                Horns     = true,
                IpAddress = "127.0.0.1"
            };
            var deer8 = new Deer
            {
                Name      = "Blitzen",
                Age       = 1,
                Horns     = true,
                IpAddress = "127.0.0.1"
            };

            context.Beavers.Add(beaver1);
            context.Beavers.Add(beaver2);
            context.Beavers.Add(beaver3);
            context.Beavers.Add(beaver4);
            context.Beavers.Add(beaver5);

            context.Crows.Add(crow1);
            context.Crows.Add(crow2);
            context.Crows.Add(crow3);
            context.Crows.Add(crow4);
            context.Crows.Add(crow5);

            context.Deers.Add(deer1);
            context.Deers.Add(deer2);
            context.Deers.Add(deer3);
            context.Deers.Add(deer4);
            context.Deers.Add(deer5);
            context.Deers.Add(deer6);
            context.Deers.Add(deer7);
            context.Deers.Add(deer8);

            #endregion

            #region Seed Many-to-many (Club)

            var club1 = new Club
            {
                Title   = "TreesWorshipers",
                Animals = new List <Animal> {
                    beaver1, beaver2, beaver3, beaver4, beaver5, crow4
                },
                Locations = new List <Location>
                {
                    new()
                    {
                        Address            = "North America",
                        GeographicLocation = DbGeography.FromText("POINT(-122 47)")
                    },
                    new()
                    {
                        Address            = "Canada",
                        GeographicLocation = DbGeography.FromText("POINT(122 40)")
                    },
                    new()
                    {
                        Address            = "Russia",
                        GeographicLocation = DbGeography.FromText("POINT(1 1)")
                    }
                }
            };

            var club2 = new Club
            {
                Title   = "CornLovers",
                Animals = new List <Animal> {
                    crow1, crow2, crow3, crow4, crow5
                },
                Locations = new List <Location>
                {
                    new()
                    {
                        Address            = "Westeros",
                        GeographicLocation = DbGeography.FromText("POINT(00 00)")
                    }
                }
            };

            var club3 = new Club
            {
                Title   = "ChristmasTeam",
                Animals = new List <Animal>
                {
                    beaver1, beaver2, beaver3, beaver4, beaver5,
                    crow1, crow2, crow3, crow4, crow5,
                    deer1, deer2, deer3, deer4, deer5, deer6, deer7, deer8
                },
                Locations = new List <Location>
                {
                    new()
                    {
                        Address            = "North Pole",
                        GeographicLocation = DbGeography.FromText("POINT(9 9)")
                    }
                }
            };

            context.Clubs.Add(club1);
            context.Clubs.Add(club2);
            context.Clubs.Add(club3);

            #endregion

            #region Seed Grades

            var grade1 = new Grade
            {
                TheGrade = 5,
                Club     = club1,
                Animal   = beaver1
            };
            var grade2 = new Grade
            {
                TheGrade = 4,
                Club     = club1,
                Animal   = beaver2
            };
            var grade3 = new Grade
            {
                TheGrade = 3,
                Club     = club1,
                Animal   = beaver3
            };
            var grade4 = new Grade
            {
                TheGrade = 3,
                Club     = club1,
                Animal   = beaver4
            };
            var grade5 = new Grade
            {
                TheGrade = 2,
                Club     = club1,
                Animal   = beaver5
            };
            var grade6 = new Grade
            {
                TheGrade = 1,
                Club     = club1,
                Animal   = crow4
            };
            var grade7 = new Grade
            {
                TheGrade = 5,
                Club     = club2,
                Animal   = crow1
            };
            var grade8 = new Grade
            {
                TheGrade = 4.5,
                Club     = club2,
                Animal   = crow2
            };
            var grade9 = new Grade
            {
                TheGrade = 2.1,
                Club     = club2,
                Animal   = crow3
            };
            var grade10 = new Grade
            {
                TheGrade = 4.3,
                Club     = club2,
                Animal   = crow4
            };

            var grade27 = new Grade
            {
                TheGrade = 4.5,
                Club     = club3,
                Animal   = beaver1
            };
            var grade26 = new Grade
            {
                TheGrade = 4.5,
                Club     = club3,
                Animal   = beaver2
            };
            var grade25 = new Grade
            {
                TheGrade = 4.5,
                Club     = club3,
                Animal   = beaver3
            };
            var grade24 = new Grade
            {
                TheGrade = 4.5,
                Club     = club3,
                Animal   = beaver4
            };
            var grade23 = new Grade
            {
                TheGrade = 4.5,
                Club     = club3,
                Animal   = beaver5
            };
            var grade22 = new Grade
            {
                TheGrade = 4.5,
                Club     = club3,
                Animal   = crow1
            };
            var grade21 = new Grade
            {
                TheGrade = 3.5,
                Club     = club3,
                Animal   = crow2
            };
            var grade20 = new Grade
            {
                TheGrade = 2.5,
                Club     = club3,
                Animal   = crow3
            };
            var grade19 = new Grade
            {
                TheGrade = 1.5,
                Club     = club3,
                Animal   = crow4
            };
            var grade28 = new Grade
            {
                TheGrade = 4.9,
                Club     = club3,
                Animal   = crow5
            };
            var grade11 = new Grade
            {
                TheGrade = 4.8,
                Club     = club3,
                Animal   = deer1
            };
            var grade12 = new Grade
            {
                TheGrade = 4.7,
                Club     = club3,
                Animal   = deer2
            };
            var grade13 = new Grade
            {
                TheGrade = 4.6,
                Club     = club3,
                Animal   = deer3
            };
            var grade14 = new Grade
            {
                TheGrade = 4.5,
                Club     = club3,
                Animal   = deer4
            };
            var grade15 = new Grade
            {
                TheGrade = 4.4,
                Club     = club3,
                Animal   = deer5
            };
            var grade16 = new Grade
            {
                TheGrade = 4.3,
                Club     = club3,
                Animal   = deer6
            };
            var grade17 = new Grade
            {
                TheGrade = 4.2,
                Club     = club3,
                Animal   = deer7
            };
            var grade18 = new Grade
            {
                TheGrade = 4.1,
                Club     = club3,
                Animal   = deer8
            };

            context.Grades.Add(grade1);
            context.Grades.Add(grade2);
            context.Grades.Add(grade3);
            context.Grades.Add(grade4);
            context.Grades.Add(grade5);
            context.Grades.Add(grade6);
            context.Grades.Add(grade7);
            context.Grades.Add(grade8);
            context.Grades.Add(grade9);
            context.Grades.Add(grade10);
            context.Grades.Add(grade11);
            context.Grades.Add(grade12);
            context.Grades.Add(grade13);
            context.Grades.Add(grade14);
            context.Grades.Add(grade15);
            context.Grades.Add(grade16);
            context.Grades.Add(grade17);
            context.Grades.Add(grade18);
            context.Grades.Add(grade19);
            context.Grades.Add(grade20);
            context.Grades.Add(grade21);
            context.Grades.Add(grade22);
            context.Grades.Add(grade23);
            context.Grades.Add(grade24);
            context.Grades.Add(grade25);
            context.Grades.Add(grade26);
            context.Grades.Add(grade27);
            context.Grades.Add(grade28);

            #endregion

            #region Seed Jobs

            var job1 = new Job
            {
                Title   = "Builder",
                Salary  = 1,
                Animals = new List <Animal>
                {
                    beaver1, beaver2, beaver3, beaver4, beaver5
                }
            };
            var job2 = new Job
            {
                Title   = "Messenger",
                Salary  = 10,
                Animals = new List <Animal>
                {
                    crow1, crow2, crow3, crow4
                }
            };
            var job3 = new Job
            {
                Title   = "Delivery",
                Salary  = 100,
                Animals = new List <Animal>
                {
                    deer1, deer2, deer3, deer4, deer5, deer6, deer7, deer8
                }
            };

            context.Jobs.Add(job1);
            context.Jobs.Add(job2);
            context.Jobs.Add(job3);

            #endregion

            #region Seed TPH (Food)

            var food1 = new NormalFood
            {
                Title  = "Elm",
                Animal = beaver1,
                Taste  = Taste.Normal
            };
            var food2 = new VeganFood
            {
                Title    = "Daphne laureola",
                Animal   = beaver2,
                Calories = 100
            };
            var food3 = new VeganFood
            {
                Title    = "Carpinus betulus",
                Animal   = beaver3,
                Calories = 1001
            };
            var food4 = new VeganFood
            {
                Title    = "Hornbeam",
                Animal   = beaver4,
                Calories = 101
            };
            var food5 = new NormalFood
            {
                Title  = "Pizza",
                Animal = beaver5,
                Taste  = Taste.Excellent
            };
            var food6 = new NormalFood
            {
                Title  = "Steak",
                Animal = crow1,
                Taste  = Taste.Excellent
            };
            var food7 = new NormalFood
            {
                Title  = "Meat",
                Animal = crow2,
                Taste  = Taste.Good
            };
            var food8 = new NormalFood
            {
                Title  = "Pizza",
                Animal = crow3,
                Taste  = Taste.VeryGood
            };
            var food9 = new VeganFood
            {
                Title    = "Corn",
                Animal   = crow4,
                Calories = 1
            };
            var food10 = new NormalFood
            {
                Title  = "Pizza",
                Animal = crow5,
                Taste  = Taste.Normal
            };
            var food11 = new VeganFood
            {
                Title    = "Pizza",
                Animal   = deer1,
                Calories = 10
            };
            var food12 = new VeganFood
            {
                Title    = "Pizza",
                Animal   = deer2,
                Calories = 10
            };
            var food13 = new VeganFood
            {
                Title    = "Pizza",
                Animal   = deer3,
                Calories = 10
            };
            var food14 = new VeganFood
            {
                Title    = "Pizza",
                Animal   = deer4,
                Calories = 10
            };
            var food15 = new VeganFood
            {
                Title    = "Pizza",
                Animal   = deer5,
                Calories = 10
            };
            var food16 = new VeganFood
            {
                Title    = "Pizza",
                Animal   = deer6,
                Calories = 10
            };
            var food17 = new NormalFood
            {
                Title  = "Elves",
                Animal = deer7,
                Taste  = Taste.Excellent
            };
            var food18 = new VeganFood
            {
                Title    = "Pizza",
                Animal   = deer8,
                Calories = 10
            };

            context.Food.Add(food1);
            context.Food.Add(food2);
            context.Food.Add(food3);
            context.Food.Add(food4);
            context.Food.Add(food5);
            context.Food.Add(food6);
            context.Food.Add(food7);
            context.Food.Add(food8);
            context.Food.Add(food9);
            context.Food.Add(food10);
            context.Food.Add(food11);
            context.Food.Add(food12);
            context.Food.Add(food13);
            context.Food.Add(food14);
            context.Food.Add(food15);
            context.Food.Add(food16);
            context.Food.Add(food17);
            context.Food.Add(food18);

            #endregion

            #region Seed Many-to-many old style (Drawback)

            var drawback1 = new Drawback
            {
                Title = "Crowdy",
                Foods = new List <Food>
                {
                    food1, food2, food3, food4, /*food5,*/ food6, food7, food8, food9, food10, food11, food12, food13,
                    food14, food15, food16, food17, food18
                },
                Clubs = new List <Club>
                {
                    club1, club2, club3
                },
                Consequence = new Consequence
                {
                    Name = "Nervousness"
                },
                DrawbackDetail = new DrawbackDetails
                {
                    DateCreated = DateTime.Now,
                    Description = "the quality or state of being nervous"
                }
            };
            var drawback2 = new Drawback
            {
                Title = "Windy",
                Foods = new List <Food>
                {
                    food1, food2, food3, food4, food5, food6, food7, food8, food9, food10, food11, food12, food13,
                    food14, food15, food16, food17, food18
                },
                Clubs = new List <Club>
                {
                    club1, club2, club3
                },
                Consequence = new Consequence
                {
                    Name = "Teleportation to Land of Oz"
                },
                DrawbackDetail = new DrawbackDetails
                {
                    DateCreated = DateTime.Now,
                    Description = "hallucination"
                }
            };
            var drawback3 = new Drawback
            {
                Title = "Soggy",
                Foods = new List <Food>
                {
                    food1, food2, food3, food4, food5, food6, food7, food8, food9, food10, food11, food12, food13,
                    food14, food15, food16, food17, food18
                },
                Clubs = new List <Club>
                {
                    club1, club2, club3
                },
                Consequence = new Consequence
                {
                    Name = "Wet clothes"
                },
                DrawbackDetail = new DrawbackDetails
                {
                    DateCreated = DateTime.Now,
                    Description = "cold"
                }
            };
            var drawback4 = new Drawback
            {
                Title = "Hardy",
                Foods = new List <Food>
                {
                    food1, food2, food3, food4, food5, food6, food7, food8, food9, food10, food11, food12, food13,
                    food14, food15, food16, food17, food18
                },
                Clubs = new List <Club>
                {
                    club1, club2, club3
                },
                Consequence = new Consequence
                {
                    Name = "Sadness"
                },
                DrawbackDetail = new DrawbackDetails
                {
                    DateCreated = DateTime.Now,
                    Description = "the condition or quality of being sad"
                }
            };

            context.Drawbacks.Add(drawback1);
            context.Drawbacks.Add(drawback2);
            context.Drawbacks.Add(drawback3);
            context.Drawbacks.Add(drawback4);

            var jobDrawback1 = new JobDrawback
            {
                Job      = job1,
                Drawback = drawback1
            };
            var jobDrawback2 = new JobDrawback
            {
                Job      = job1,
                Drawback = drawback2
            };
            var jobDrawback3 = new JobDrawback
            {
                Job      = job1,
                Drawback = drawback3
            };
            var jobDrawback4 = new JobDrawback
            {
                Job      = job1,
                Drawback = drawback4
            };
            var jobDrawback5 = new JobDrawback
            {
                Job      = job2,
                Drawback = drawback1
            };
            var jobDrawback6 = new JobDrawback
            {
                Job      = job2,
                Drawback = drawback2
            };
            var jobDrawback7 = new JobDrawback
            {
                Job      = job3,
                Drawback = drawback1
            };
            var jobDrawback8 = new JobDrawback
            {
                Job      = job3,
                Drawback = drawback2
            };

            context.JobDrawbacks.Add(jobDrawback1);
            context.JobDrawbacks.Add(jobDrawback2);
            context.JobDrawbacks.Add(jobDrawback3);
            context.JobDrawbacks.Add(jobDrawback4);
            context.JobDrawbacks.Add(jobDrawback5);
            context.JobDrawbacks.Add(jobDrawback6);
            context.JobDrawbacks.Add(jobDrawback7);
            context.JobDrawbacks.Add(jobDrawback8);

            #endregion

            #region Seed Persons

            var person1 = new Person
            {
                Name         = "BeaverPerson",
                AnimalsLoved = new List <Animal> {
                    beaver1, beaver2, beaver3, beaver4, beaver5
                },
                AnimalsHated = new List <Animal> {
                    deer1, deer2, deer3, deer4, deer5, deer6, deer7, deer8
                }
            };

            context.Persons.Add(person1);

            #endregion

            context.SaveChanges();
        }
    public override void Realize()
    {
        if (realizedCreature != null)
        {
            return;
        }
        switch (creatureTemplate.TopAncestor().type)
        {
        case CreatureTemplate.Type.Slugcat:
            realizedCreature = new Player(this, world);
            break;

        case CreatureTemplate.Type.LizardTemplate:
            realizedCreature = new Lizard(this, world);
            break;

        case CreatureTemplate.Type.Fly:
            realizedCreature = new Fly(this, world);
            break;

        case CreatureTemplate.Type.Leech:
            realizedCreature = new Leech(this, world);
            break;

        case CreatureTemplate.Type.Snail:
            realizedCreature = new Snail(this, world);
            break;

        case CreatureTemplate.Type.Vulture:
            realizedCreature = new Vulture(this, world);
            break;

        case CreatureTemplate.Type.GarbageWorm:
            GarbageWormAI.MoveAbstractCreatureToGarbage(this, Room);
            realizedCreature = new GarbageWorm(this, world);
            break;

        case CreatureTemplate.Type.LanternMouse:
            realizedCreature = new LanternMouse(this, world);
            break;

        case CreatureTemplate.Type.CicadaA:
            realizedCreature = new Cicada(this, world, creatureTemplate.type == CreatureTemplate.Type.CicadaA);
            break;

        case CreatureTemplate.Type.Spider:
            realizedCreature = new Spider(this, world);
            break;

        case CreatureTemplate.Type.JetFish:
            realizedCreature = new JetFish(this, world);
            break;

        case (CreatureTemplate.Type)patch_CreatureTemplate.Type.SeaDrake:
            realizedCreature = new SeaDrake(this, world);
            break;

        case CreatureTemplate.Type.BigEel:
            realizedCreature = new BigEel(this, world);
            break;

        case CreatureTemplate.Type.Deer:
            realizedCreature = new Deer(this, world);
            break;

        case (CreatureTemplate.Type)patch_CreatureTemplate.Type.WalkerBeast:
            realizedCreature = new WalkerBeast(this, world);
            break;

        case CreatureTemplate.Type.TubeWorm:
            realizedCreature = new TubeWorm(this, world);
            break;

        case CreatureTemplate.Type.DaddyLongLegs:
            realizedCreature = new DaddyLongLegs(this, world);
            break;

        case CreatureTemplate.Type.TentaclePlant:
            if (creatureTemplate.type == CreatureTemplate.Type.TentaclePlant)
            {
                realizedCreature = new TentaclePlant(this, world);
            }
            else
            {
                realizedCreature = new PoleMimic(this, world);
            }
            break;

        case CreatureTemplate.Type.MirosBird:
            realizedCreature = new MirosBird(this, world);
            break;

        case CreatureTemplate.Type.TempleGuard:
            realizedCreature = new TempleGuard(this, world);
            break;

        case CreatureTemplate.Type.Centipede:
        case CreatureTemplate.Type.RedCentipede:
        case CreatureTemplate.Type.Centiwing:
        case CreatureTemplate.Type.SmallCentipede:
            realizedCreature = new Centipede(this, world);
            break;

        case CreatureTemplate.Type.Scavenger:
            realizedCreature = new Scavenger(this, world);
            break;

        case CreatureTemplate.Type.Overseer:
            realizedCreature = new Overseer(this, world);
            break;

        case CreatureTemplate.Type.VultureGrub:
            if (creatureTemplate.type == CreatureTemplate.Type.VultureGrub)
            {
                realizedCreature = new VultureGrub(this, world);
            }
            else if (creatureTemplate.type == CreatureTemplate.Type.Hazer)
            {
                realizedCreature = new Hazer(this, world);
            }
            break;

        case CreatureTemplate.Type.EggBug:
            realizedCreature = new EggBug(this, world);
            break;

        case CreatureTemplate.Type.BigSpider:
        case CreatureTemplate.Type.SpitterSpider:
            realizedCreature = new BigSpider(this, world);
            break;

        case CreatureTemplate.Type.BigNeedleWorm:
            if (creatureTemplate.type == CreatureTemplate.Type.SmallNeedleWorm)
            {
                realizedCreature = new SmallNeedleWorm(this, world);
            }
            else
            {
                realizedCreature = new BigNeedleWorm(this, world);
            }
            break;

        case CreatureTemplate.Type.DropBug:
            realizedCreature = new DropBug(this, world);
            break;
        }
        InitiateAI();
        for (int i = 0; i < stuckObjects.Count; i++)
        {
            if (stuckObjects[i].A.realizedObject == null)
            {
                stuckObjects[i].A.Realize();
            }
            if (stuckObjects[i].B.realizedObject == null)
            {
                stuckObjects[i].B.Realize();
            }
        }
    }
Exemple #24
0
        /// <summary>
        /// Initialize zoo.
        /// </summary>
        /// <param name="zoo"></param>
        private static void InitializeZoo()
        {
            Console.WriteLine("Welcome to the best Zoo!");


            AnimalRepository animalRepository = new AnimalRepository();

            // Birds

            Animal parrot = new Parrot(1, "Jerome", 1);
            Animal duck   = new Duck(2, "Austin", 2);
            Animal owl    = new Owl(3, "Braxton", 1);

            animalRepository.Add(parrot);
            animalRepository.Add(duck);
            animalRepository.Add(owl);

            // Mammals

            Animal lion   = new Lion(3, "Connor", 7);
            Animal goat   = new Goat(4, "Sly", 4);
            Animal monkey = new Monkey(5, "Gorilaz", 3);

            animalRepository.Add(lion);
            animalRepository.Add(goat);
            animalRepository.Add(monkey);

            // Herbivore

            Animal deer     = new Deer(7, "Lora", 2);
            Animal muleDeer = new MuleDeer(8, "Ann", 4);
            Animal zebra    = new Zebra(9, "Jane", 9);

            animalRepository.Add(deer);
            animalRepository.Add(muleDeer);
            animalRepository.Add(zebra);

            // Keepers

            KeeperRepository keeperRepository = new KeeperRepository();

            Keeper noviceKeeper       = new Keeper(1, Level.Novice);
            Keeper intermediateKeeper = new Keeper(2, Level.Intermediate);
            Keeper advancedKeeper     = new Keeper(3, Level.Advanced);
            Keeper expertKeeper       = new Keeper(4, Level.Expert);

            keeperRepository.Add(noviceKeeper);
            keeperRepository.Add(intermediateKeeper);
            keeperRepository.Add(advancedKeeper);
            keeperRepository.Add(expertKeeper);


            // Assign animals to protect

            noviceKeeper.ProtectAnimal(parrot);
            noviceKeeper.ProtectAnimal(zebra);

            intermediateKeeper.ProtectAnimal(duck);
            intermediateKeeper.ProtectAnimal(lion);

            advancedKeeper.ProtectAnimal(muleDeer);
            advancedKeeper.ProtectAnimal(owl);

            expertKeeper.ProtectAnimal(deer);
            expertKeeper.ProtectAnimal(monkey);

            var animals = animalRepository.GetAll();
            var keepers = keeperRepository.GetAll();

            Zoo zoo = new Zoo(animals, keepers);

            for (int i = 0; i < 10; i++)
            {
                zoo.Run();
                Console.WriteLine("=========================================");
            }
        }
Exemple #25
0
 public void UpdateHealth()
 {
     healthSlider.value = Deer.GetInstance().currentHealth;
     healthText.text    = Deer.GetInstance().currentHealth + " / " + Deer.GetInstance().maxHealth;
 }
Exemple #26
0
 public DeerAttackState(Enemy enemy, Searchable searchable) : base(enemy, searchable)
 {
     _deer = enemy as Deer;
 }
Exemple #27
0
 public Normal(Enemy enemy) : base(enemy)
 {
     _deer = enemy as Deer;
 }
Exemple #28
0
 public void Hunt(Deer deer)
 {
     deer.SetHunter(this);
 }
Exemple #29
0
        private static void SeedDb()
        {
            using var context = new AnimalContext();

            context.SavedChanges += (sender, args) =>
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine(
                    $"Saved {args.EntitiesSavedCount} changes for {((DbContext) sender)?.Database.GetConnectionString()}");
                Console.ForegroundColor = ConsoleColor.White;
            };

            context.Database.EnsureDeleted();
            context.Database.EnsureCreated();

            #region Seed TPT (Animal)

            var beaver1 = new Beaver
            {
                Name       = "SomeBeavers1",
                Age        = 27,
                Fluffiness = FluffinessEnum.VeryFluffy,
                Size       = 15,
                IpAddress  = IPAddress.Parse("127.0.0.1")
            };
            var beaver2 = new Beaver
            {
                Name       = "SomeBeavers2",
                Age        = 26,
                Fluffiness = FluffinessEnum.Fluffy,
                Size       = 14,
                IpAddress  = IPAddress.Parse("127.0.0.1")
            };
            var beaver3 = new Beaver
            {
                Name       = "SomeBeavers3",
                Age        = 25,
                Fluffiness = FluffinessEnum.NotFluffy,
                Size       = 13,
                IpAddress  = IPAddress.Parse("127.0.0.1")
            };
            var beaver4 = new Beaver
            {
                Name       = "SomeBeavers4",
                Age        = 24,
                Fluffiness = FluffinessEnum.Fluffy,
                Size       = 12,
                IpAddress  = IPAddress.Parse("127.0.0.1")
            };
            var beaver5 = new Beaver
            {
                Name       = "SomeBeavers5",
                Age        = 23,
                Fluffiness = FluffinessEnum.VeryFluffy,
                Size       = 11,
                IpAddress  = IPAddress.Parse("127.0.0.1")
            };

            var crow1 = new Crow
            {
                Name      = "Crowly",
                Age       = 5,
                Color     = "black",
                Size      = 1,
                IpAddress = IPAddress.Parse("127.0.0.1")
            };
            var crow2 = new Crow
            {
                Name      = "Crowly1",
                Age       = 5,
                Color     = "black",
                Size      = 1,
                IpAddress = IPAddress.Parse("127.0.0.1")
            };
            var crow3 = new Crow
            {
                Name      = "Crowly2",
                Age       = 22,
                Color     = "black",
                Size      = 4,
                IpAddress = IPAddress.Parse("127.0.0.1")
            };
            var crow4 = new Crow
            {
                Name      = "Crowly3",
                Age       = 50,
                Color     = "white",
                Size      = 10,
                IpAddress = IPAddress.Parse("127.0.0.1")
            };
            var crow5 = new Crow
            {
                Name      = "Crowly4",
                Age       = 5,
                Color     = "pink",
                Size      = 1,
                IpAddress = IPAddress.Parse("127.0.0.1")
            };

            var deer1 = new Deer
            {
                Name      = "Dasher",
                Age       = 1,
                Horns     = true,
                IpAddress = IPAddress.Parse("127.0.0.1")
            };
            var deer2 = new Deer
            {
                Name      = "Dancer",
                Age       = 2,
                Horns     = true,
                IpAddress = IPAddress.Parse("127.0.0.1")
            };
            var deer3 = new Deer
            {
                Name      = "Prancer",
                Age       = 1,
                Horns     = false,
                IpAddress = IPAddress.Parse("127.0.0.1")
            };
            var deer4 = new Deer
            {
                Name      = "Vixen",
                Age       = 1,
                Horns     = true,
                IpAddress = IPAddress.Parse("127.0.0.1")
            };
            var deer5 = new Deer
            {
                Name      = "Comet",
                Age       = 1,
                Horns     = true,
                IpAddress = IPAddress.Parse("127.0.0.1")
            };
            var deer6 = new Deer
            {
                Name      = "Cupid",
                Age       = 1,
                Horns     = false,
                IpAddress = IPAddress.Parse("127.0.0.1")
            };
            var deer7 = new Deer
            {
                Name      = "Donder ",
                Age       = 1,
                Horns     = true,
                IpAddress = IPAddress.Parse("127.0.0.1")
            };
            var deer8 = new Deer
            {
                Name      = "Blitzen",
                Age       = 1,
                Horns     = true,
                IpAddress = IPAddress.Parse("127.0.0.1")
            };

            context.Beavers.Add(beaver1);
            context.Beavers.Add(beaver2);
            context.Beavers.Add(beaver3);
            context.Beavers.Add(beaver4);
            context.Beavers.Add(beaver5);

            context.Crows.Add(crow1);
            context.Crows.Add(crow2);
            context.Crows.Add(crow3);
            context.Crows.Add(crow4);
            context.Crows.Add(crow5);

            context.Deers.Add(deer1);
            context.Deers.Add(deer2);
            context.Deers.Add(deer3);
            context.Deers.Add(deer4);
            context.Deers.Add(deer5);
            context.Deers.Add(deer6);
            context.Deers.Add(deer7);
            context.Deers.Add(deer8);

            #endregion

            #region Seed Many-to-many (Club)

            var club1 = new Club
            {
                Title   = "TreesWorshipers",
                Animals = new List <Animal> {
                    beaver1, beaver2, beaver3, beaver4, beaver5, crow4
                },
                Locations = new List <Location>
                {
                    new()
                    {
                        Address = "North America"
                    },
                    new()
                    {
                        Address = "Canada"
                    },
                    new()
                    {
                        Address = "Russia"
                    }
                }
            };

            var club2 = new Club
            {
                Title   = "CornLovers",
                Animals = new List <Animal> {
                    crow1, crow2, crow3, crow4, crow5
                },
                Locations = new List <Location>
                {
                    new()
                    {
                        Address = "Westeros"
                    }
                }
            };

            var club3 = new Club
            {
                Title   = "ChristmasTeam",
                Animals = new List <Animal>
                {
                    beaver1, beaver2, beaver3, beaver4, beaver5,
                    crow1, crow2, crow3, crow4, crow5,
                    deer1, deer2, deer3, deer4, deer5, deer6, deer7, deer8
                },
                Locations = new List <Location>
                {
                    new()
                    {
                        Address = "North Pole"
                    }
                }
            };

            context.Clubs.Add(club1);
            context.Clubs.Add(club2);
            context.Clubs.Add(club3);

            #endregion

            #region Seed Grades

            var grade1 = new Grade
            {
                TheGrade = 5,
                Club     = club1,
                Animal   = beaver1
            };
            var grade2 = new Grade
            {
                TheGrade = 4,
                Club     = club1,
                Animal   = beaver2
            };
            var grade3 = new Grade
            {
                TheGrade = 3,
                Club     = club1,
                Animal   = beaver3
            };
            var grade4 = new Grade
            {
                TheGrade = 3,
                Club     = club1,
                Animal   = beaver4
            };
            var grade5 = new Grade
            {
                TheGrade = 2,
                Club     = club1,
                Animal   = beaver5
            };
            var grade6 = new Grade
            {
                TheGrade = 1,
                Club     = club1,
                Animal   = crow4
            };
            var grade7 = new Grade
            {
                TheGrade = 5,
                Club     = club2,
                Animal   = crow1
            };
            var grade8 = new Grade
            {
                TheGrade = 4.5,
                Club     = club2,
                Animal   = crow2
            };
            var grade9 = new Grade
            {
                TheGrade = 2.1,
                Club     = club2,
                Animal   = crow3
            };
            var grade10 = new Grade
            {
                TheGrade = 4.3,
                Club     = club2,
                Animal   = crow4
            };

            var grade27 = new Grade
            {
                TheGrade = 4.5,
                Club     = club3,
                Animal   = beaver1
            };
            var grade26 = new Grade
            {
                TheGrade = 4.5,
                Club     = club3,
                Animal   = beaver2
            };
            var grade25 = new Grade
            {
                TheGrade = 4.5,
                Club     = club3,
                Animal   = beaver3
            };
            var grade24 = new Grade
            {
                TheGrade = 4.5,
                Club     = club3,
                Animal   = beaver4
            };
            var grade23 = new Grade
            {
                TheGrade = 4.5,
                Club     = club3,
                Animal   = beaver5
            };
            var grade22 = new Grade
            {
                TheGrade = 4.5,
                Club     = club3,
                Animal   = crow1
            };
            var grade21 = new Grade
            {
                TheGrade = 3.5,
                Club     = club3,
                Animal   = crow2
            };
            var grade20 = new Grade
            {
                TheGrade = 2.5,
                Club     = club3,
                Animal   = crow3
            };
            var grade19 = new Grade
            {
                TheGrade = 1.5,
                Club     = club3,
                Animal   = crow4
            };
            var grade28 = new Grade
            {
                TheGrade = 4.9,
                Club     = club3,
                Animal   = crow5
            };
            var grade11 = new Grade
            {
                TheGrade = 4.8,
                Club     = club3,
                Animal   = deer1
            };
            var grade12 = new Grade
            {
                TheGrade = 4.7,
                Club     = club3,
                Animal   = deer2
            };
            var grade13 = new Grade
            {
                TheGrade = 4.6,
                Club     = club3,
                Animal   = deer3
            };
            var grade14 = new Grade
            {
                TheGrade = 4.5,
                Club     = club3,
                Animal   = deer4
            };
            var grade15 = new Grade
            {
                TheGrade = 4.4,
                Club     = club3,
                Animal   = deer5
            };
            var grade16 = new Grade
            {
                TheGrade = 4.3,
                Club     = club3,
                Animal   = deer6
            };
            var grade17 = new Grade
            {
                TheGrade = 4.2,
                Club     = club3,
                Animal   = deer7
            };
            var grade18 = new Grade
            {
                TheGrade = 4.1,
                Club     = club3,
                Animal   = deer8
            };

            context.Grades.Add(grade1);
            context.Grades.Add(grade2);
            context.Grades.Add(grade3);
            context.Grades.Add(grade4);
            context.Grades.Add(grade5);
            context.Grades.Add(grade6);
            context.Grades.Add(grade7);
            context.Grades.Add(grade8);
            context.Grades.Add(grade9);
            context.Grades.Add(grade10);
            context.Grades.Add(grade11);
            context.Grades.Add(grade12);
            context.Grades.Add(grade13);
            context.Grades.Add(grade14);
            context.Grades.Add(grade15);
            context.Grades.Add(grade16);
            context.Grades.Add(grade17);
            context.Grades.Add(grade18);
            context.Grades.Add(grade19);
            context.Grades.Add(grade20);
            context.Grades.Add(grade21);
            context.Grades.Add(grade22);
            context.Grades.Add(grade23);
            context.Grades.Add(grade24);
            context.Grades.Add(grade25);
            context.Grades.Add(grade26);
            context.Grades.Add(grade27);
            context.Grades.Add(grade28);

            #endregion

            #region Seed Jobs

            var job1 = new Job
            {
                Title   = "Builder",
                Salary  = 1,
                Animals = new List <Animal>
                {
                    beaver1, beaver2, beaver3, beaver4, beaver5
                }
            };
            var job2 = new Job
            {
                Title   = "Messenger",
                Salary  = 10,
                Animals = new List <Animal>
                {
                    crow1, crow2, crow3, crow4
                }
            };
            var job3 = new Job
            {
                Title   = "Delivery",
                Salary  = 100,
                Animals = new List <Animal>
                {
                    deer1, deer2, deer3, deer4, deer5, deer6, deer7, deer8
                }
            };

            context.Jobs.Add(job1);
            context.Jobs.Add(job2);
            context.Jobs.Add(job3);

            #endregion

            #region Seed TPH (Food)

            var food1 = new NormalFood
            {
                Title  = "Elm",
                Animal = beaver1,
                Taste  = Taste.Normal
            };
            var food2 = new VeganFood
            {
                Title    = "Daphne laureola",
                Animal   = beaver2,
                Calories = 100
            };
            var food3 = new VeganFood
            {
                Title    = "Carpinus betulus",
                Animal   = beaver3,
                Calories = 1001
            };
            var food4 = new VeganFood
            {
                Title    = "Hornbeam",
                Animal   = beaver4,
                Calories = 101
            };
            var food5 = new NormalFood
            {
                Title  = "Pizza",
                Animal = beaver5,
                Taste  = Taste.Excellent
            };
            var food6 = new NormalFood
            {
                Title  = "Steak",
                Animal = crow1,
                Taste  = Taste.Excellent
            };
            var food7 = new NormalFood
            {
                Title  = "Meat",
                Animal = crow2,
                Taste  = Taste.Good
            };
            var food8 = new NormalFood
            {
                Title  = "Pizza",
                Animal = crow3,
                Taste  = Taste.VeryGood
            };
            var food9 = new VeganFood
            {
                Title    = "Corn",
                Animal   = crow4,
                Calories = 1
            };
            var food10 = new NormalFood
            {
                Title  = "Pizza",
                Animal = crow5,
                Taste  = Taste.Normal
            };
            var food11 = new VeganFood
            {
                Title    = "Pizza",
                Animal   = deer1,
                Calories = 10
            };
            var food12 = new VeganFood
            {
                Title    = "Pizza",
                Animal   = deer2,
                Calories = 10
            };
            var food13 = new VeganFood
            {
                Title    = "Pizza",
                Animal   = deer3,
                Calories = 10
            };
            var food14 = new VeganFood
            {
                Title    = "Pizza",
                Animal   = deer4,
                Calories = 10
            };
            var food15 = new VeganFood
            {
                Title    = "Pizza",
                Animal   = deer5,
                Calories = 10
            };
            var food16 = new VeganFood
            {
                Title    = "Pizza",
                Animal   = deer6,
                Calories = 10
            };
            var food17 = new NormalFood
            {
                Title  = "Elves",
                Animal = deer7,
                Taste  = Taste.Excellent
            };
            var food18 = new VeganFood
            {
                Title    = "Pizza",
                Animal   = deer8,
                Calories = 10
            };

            context.Food.Add(food1);
            context.Food.Add(food2);
            context.Food.Add(food3);
            context.Food.Add(food4);
            context.Food.Add(food5);
            context.Food.Add(food6);
            context.Food.Add(food7);
            context.Food.Add(food8);
            context.Food.Add(food9);
            context.Food.Add(food10);
            context.Food.Add(food11);
            context.Food.Add(food12);
            context.Food.Add(food13);
            context.Food.Add(food14);
            context.Food.Add(food15);
            context.Food.Add(food16);
            context.Food.Add(food17);
            context.Food.Add(food18);

            #endregion

            #region Seed Many-to-many old style (Drawback)

            var drawback1 = new Drawback
            {
                Title = "Crowdy",
                Foods = new List <Food>
                {
                    food1, food2, food3, food4, /*food5,*/ food6, food7, food8, food9, food10, food11, food12, food13,
                    food14, food15, food16, food17, food18
                },
                Clubs = new List <Club>
                {
                    club1, club2, club3
                },
                Consequence = new Consequence
                {
                    Name = "Nervousness"
                }
            };
            var drawback2 = new Drawback
            {
                Title = "Windy",
                Foods = new List <Food>
                {
                    food1, food2, food3, food4, food5, food6, food7, food8, food9, food10, food11, food12, food13,
                    food14, food15, food16, food17, food18
                },
                Clubs = new List <Club>
                {
                    club1, club2, club3
                },
                Consequence = new Consequence
                {
                    Name = "Teleportation to Land of Oz"
                }
            };
            var drawback3 = new Drawback
            {
                Title = "Soggy",
                Foods = new List <Food>
                {
                    food1, food2, food3, food4, food5, food6, food7, food8, food9, food10, food11, food12, food13,
                    food14, food15, food16, food17, food18
                },
                Clubs = new List <Club>
                {
                    club1, club2, club3
                },
                Consequence = new Consequence
                {
                    Name = "Wet clothes"
                }
            };
            var drawback4 = new Drawback
            {
                Title = "Hardy",
                Foods = new List <Food>
                {
                    food1, food2, food3, food4, food5, food6, food7, food8, food9, food10, food11, food12, food13,
                    food14, food15, food16, food17, food18
                },
                Clubs = new List <Club>
                {
                    club1, club2, club3
                },
                Consequence = new Consequence
                {
                    Name = "Sadness"
                }
            };

            context.Drawbacks.Add(drawback1);
            context.Drawbacks.Add(drawback2);
            context.Drawbacks.Add(drawback3);
            context.Drawbacks.Add(drawback4);

            var jobDrawback1 = new JobDrawback
            {
                Job      = job1,
                Drawback = drawback1
            };
            var jobDrawback2 = new JobDrawback
            {
                Job      = job1,
                Drawback = drawback2
            };
            var jobDrawback3 = new JobDrawback
            {
                Job      = job1,
                Drawback = drawback3
            };
            var jobDrawback4 = new JobDrawback
            {
                Job      = job1,
                Drawback = drawback4
            };
            var jobDrawback5 = new JobDrawback
            {
                Job      = job2,
                Drawback = drawback1
            };
            var jobDrawback6 = new JobDrawback
            {
                Job      = job2,
                Drawback = drawback2
            };
            var jobDrawback7 = new JobDrawback
            {
                Job      = job3,
                Drawback = drawback1
            };
            var jobDrawback8 = new JobDrawback
            {
                Job      = job3,
                Drawback = drawback2
            };

            context.JobDrawbacks.Add(jobDrawback1);
            context.JobDrawbacks.Add(jobDrawback2);
            context.JobDrawbacks.Add(jobDrawback3);
            context.JobDrawbacks.Add(jobDrawback4);
            context.JobDrawbacks.Add(jobDrawback5);
            context.JobDrawbacks.Add(jobDrawback6);
            context.JobDrawbacks.Add(jobDrawback7);
            context.JobDrawbacks.Add(jobDrawback8);

            #endregion

            context.SaveChanges();

            #region Seed Property Bags (Category, Product)

            var category1 = new Dictionary <string, object>
            {
                ["Name"]   = "Beverages",
                ["FoodId"] = food1.Id
            };

            context.Categories.Add(category1);

            context.SaveChanges();

            var product1 = new Dictionary <string, object>
            {
                ["Name"]       = "Product1",
                ["CategoryId"] = context.Categories.First()["Id"]
            };

            context.Products.Add(product1);

            #endregion

            #region Seed Persons

            var person1 = new Person
            {
                Name         = "BeaverPerson",
                AnimalsLoved = new List <Animal> {
                    beaver1, beaver2, beaver3, beaver4, beaver5
                },
                AnimalsHated = new List <Animal> {
                    deer1, deer2, deer3, deer4, deer5, deer6, deer7, deer8
                }
            };

            context.Persons.Add(person1);

            #endregion

            #region Seed Elves

            var elf1 = new Elf
            {
                Name = "Alabaster Snowball",
                Deer = deer1
            };
            var elf2 = new Elf
            {
                Name = "Bushy Evergreen",
                Deer = deer1
            };
            var elf3 = new Elf
            {
                Name = "Pepper Minstix",
                Deer = deer2
            };
            var elf4 = new Elf
            {
                Name = "Shinny Upatree",
                Deer = deer3
            };
            var elf5 = new Elf
            {
                Name = "Sugarplum Mary",
                Deer = deer4
            };
            var elf6 = new Elf
            {
                Name = "Wunorse Openslae",
                Deer = deer5
            };
            var elf7 = new Elf
            {
                Name = "Grinch",
                Deer = deer6
            };
            var elf8 = new Elf
            {
                Name = "Legolas",
                Deer = deer7
            };
            var elf9 = new Elf
            {
                Name = "Iorveth",
                Deer = deer8
            };

            context.Elves.Add(elf1);
            context.Elves.Add(elf2);
            context.Elves.Add(elf3);
            context.Elves.Add(elf4);
            context.Elves.Add(elf5);
            context.Elves.Add(elf6);
            context.Elves.Add(elf7);
            context.Elves.Add(elf8);
            context.Elves.Add(elf9);

            #endregion

            #region Seed AdditionaInfos

            var additionalInfo1 = new AdditionalInfo()
            {
                Clubs = new List <Club>()
                {
                    club1, club2, club3
                },
                Comment = "Best club ever"
            };
            var additionalInfo2 = new AdditionalInfo()
            {
                Clubs = new List <Club>()
                {
                    club1, club2
                },
                Comment = "Evolution club"
            };
            var additionalInfo3 = new AdditionalInfo()
            {
                Clubs = new List <Club>()
                {
                    club1
                },
                Comment = "Original club"
            };

            context.AdditionalInfos.Add(additionalInfo1);
            context.AdditionalInfos.Add(additionalInfo2);
            context.AdditionalInfos.Add(additionalInfo3);

            #endregion

            context.SaveChanges();

            context.Database.ExecuteSqlRaw(File.ReadAllText(".\\BD\\CreateTVF.sql"));
        }