Esempio n. 1
0
        private void btn_Contest_Click(object sender, EventArgs e)
        {
            txt_ShoutContest.Text = "";
            txt_ShoutContest.Update();
            txt_MagicContest.Text = "";
            txt_MagicContest.Update();
            foreach (var animal in aniArr)
            {
                if (animal != null)
                {
                    //叫聲比賽
                    txt_ShoutContest.AppendText(animal.Shout() + Environment.NewLine);

                    //魔法比賽
                    if (animal is MachineCat)
                    {
                        MachineCat m = (MachineCat)animal; //downcasting
                        txt_MagicContest.AppendText(m.ChangeThing() + Environment.NewLine);
                    }
                    else if (animal is MagicCattle)
                    {
                        MagicCattle m = (MagicCattle)animal; //downcasting
                        txt_MagicContest.AppendText(m.ChangeThing() + Environment.NewLine);
                    }
                }
            }
        }
Esempio n. 2
0
        public static MagicCattle Create(string name, int shouts, string thing)
        {
            MagicCattle cattle = null;

            if (shouts <= 0)
            {
                return(cattle);
            }
            else
            {
                cattle = new MagicCattle(name, shouts, thing);
                return(cattle);
            }
        }
Esempio n. 3
0
        private void btn_SignUp_Click(object sender, EventArgs e)
        {
            int amount = aniArr.Count;

            if (amount >= 10)
            {
                MessageBox.Show("報名額滿!");
                return;
            }
            switch (cbox_AnimalType.SelectedIndex)
            {
            case 0:
                Cat cat = Cat.Create(txt_CatName.Text, int.Parse(txt_ShoutNum.Text));
                if (cat == null)
                {
                    MessageBox.Show("報名失敗!");
                    return;
                }
                aniArr.Add(cat);
                txt_AmountOfCats.Text = Cat.Amount.ToString();
                break;

            case 1:
                Dog dog = Dog.Create(txt_CatName.Text, int.Parse(txt_ShoutNum.Text));
                if (dog == null)
                {
                    MessageBox.Show("報名失敗!");
                    return;
                }
                aniArr.Add(dog);
                txt_AmountOfDogs.Text = Dog.Amount.ToString();
                break;

            case 2:
                Cattle cattle = Cattle.Create(txt_CatName.Text, int.Parse(txt_ShoutNum.Text));
                if (cattle == null)
                {
                    MessageBox.Show("報名失敗!");
                    return;
                }
                aniArr.Add(cattle);
                txt_AmountOfCattles.Text = Cattle.Amount.ToString();
                break;

            case 3:
                Sheep sheep = Sheep.Create(txt_CatName.Text, int.Parse(txt_ShoutNum.Text));
                if (sheep == null)
                {
                    MessageBox.Show("報名失敗!");
                    return;
                }
                aniArr.Add(sheep);
                txt_AmountOfSheeps.Text = Sheep.Amount.ToString();
                break;

            case 4:
                MachineCat mcat = MachineCat.Create(txt_CatName.Text, int.Parse(txt_ShoutNum.Text), txt_Thing.Text);
                if (mcat == null)
                {
                    MessageBox.Show("報名失敗!");
                    return;
                }
                aniArr.Add(mcat);
                txt_AmountOfCats.Text = Cat.Amount.ToString();
                break;

            case 5:
                MagicCattle mcattle = MagicCattle.Create(txt_CatName.Text, int.Parse(txt_ShoutNum.Text), txt_Thing.Text);
                if (mcattle == null)
                {
                    MessageBox.Show("報名失敗!");
                    return;
                }
                aniArr.Add(mcattle);
                txt_AmountOfCattles.Text = Cattle.Amount.ToString();
                break;

            default:
                break;
            }
            txt_AmountOfAnimals.Text = aniArr.Count.ToString();
        }