Beispiel #1
0
        protected override void Eat()
        {
            HerbivoreFish food = GetClosestSuitableObject(CanBeEaten) as HerbivoreFish;

            if (food == null)
            {
                throw new Exception("Food not found");
            }
            if (Math.Abs(this.X - food.X) <= 1 && Math.Abs(this.Y - food.Y) <= 1)
            {
                Satiety += food.Feed();
            }
            else
            {
                MakePath(food.X, food.Y);
                try
                {
                    ContainingAquarium.Territory[Path[0].x, Path[0].y] = this;
                    ContainingAquarium.Territory[X, Y] = null;
                    this.X = Path[0].x;
                    this.Y = Path[0].y;
                }
                catch { }
                food.BeingHuntedBy(this);
            }
        }
Beispiel #2
0
        private void button1_Click(object sender, EventArgs e)
        {
            AquariumObject ToInsert;

            switch (comboBox1.SelectedItem.ToString())
            {
            case "Rock":
                ToInsert = new Rock(HereWeGo, selectedX, selectedY);
                break;

            case "Seaweed":
                ToInsert = new Seaweed(HereWeGo, selectedX, selectedY, (int)FoodField.Value);
                break;

            case "Herbivore":
                ToInsert = new HerbivoreFish(HereWeGo, selectedX, selectedY, GenderField.SelectedItem.ToString() == "Male" ? true : false, (int)AgeField.Value, (int)SatietyField.Value, (int)FoodField.Value, (int)PregnancyField.Value);
                break;

            case "Predator":
                ToInsert = new PredatorFish(HereWeGo, selectedX, selectedY, GenderField.SelectedItem.ToString() == "Male" ? true : false, (int)AgeField.Value, (int)SatietyField.Value, (int)PregnancyField.Value);
                break;

            default:
                ToInsert = null;
                break;
            }
            HereWeGo.Territory[selectedX, selectedY] = ToInsert;
            DrawAquarium(HereWeGo, tableLayoutPanel1);
        }