コード例 #1
0
 public void NumberToAlphabetTest()
 {
     Console.WriteLine(Magician.NumberToAlphabetByOrder(1) == "A" ? "true" : "false");
     Console.WriteLine(Magician.NumberToAlphabetByOrder(5) == "E" ? "true" : "false");
     Console.WriteLine(Magician.NumberToAlphabetByOrder(7) == "G" ? "true" : "false");
     Console.WriteLine(Magician.NumberToAlphabetByOrder(27) == "AA" ? "true" : "false");
     Console.WriteLine(Magician.NumberToAlphabetByOrder(28) == "AB" ? "true" : "false");
     Console.WriteLine(Magician.NumberToAlphabetByOrder(51) == "AY" ? "true" : "false");
     Console.WriteLine(Magician.NumberToAlphabetByOrder(52) == "AZ" ? "true" : "false");
     Console.WriteLine(Magician.NumberToAlphabetByOrder(53) == "BA" ? "true" : "false");
     Console.WriteLine(Magician.NumberToAlphabetByOrder(54) == "BB" ? "true" : "false");
     Console.WriteLine(Magician.NumberToAlphabetByOrder(341) == "MC" ? "true" : "false");
     Console.WriteLine(Magician.NumberToAlphabetByOrder(702) == "ZZ" ? "true" : "false");
     Console.WriteLine(Magician.NumberToAlphabetByOrder(703) == "AAA" ? "true" : "false");
     Console.WriteLine(Magician.NumberToAlphabetByOrder(704) == "AAB" ? "true" : "false");
     Console.WriteLine(Magician.NumberToAlphabetByOrder(728) == "AAZ" ? "true" : "false");
     Console.WriteLine(Magician.NumberToAlphabetByOrder(983) == "AKU" ? "true" : "false");
     Console.WriteLine(Magician.NumberToAlphabetByOrder(1378) == "AZZ" ? "true" : "false");
     Console.WriteLine(Magician.NumberToAlphabetByOrder(1380) == "BAB" ? "true" : "false");
     Console.WriteLine(Magician.NumberToAlphabetByOrder(2369) == "CMC" ? "true" : "false");
     Console.WriteLine(Magician.NumberToAlphabetByOrder(18279) == "AAAA" ? "true" : "false");
     Console.WriteLine(Magician.NumberToAlphabetByOrder(17603) == "ZAA" ? "true" : "false");
     Console.WriteLine(Magician.NumberToAlphabetByOrder(457003) == "YZAA" ? "true" : "false");
     Console.WriteLine(Magician.NumberToAlphabetByOrder(457679) == "ZAAA" ? "true" : "false");
 }
コード例 #2
0
    public override void UseAbility()
    {
        //reset position so it falls to the ground, just juice
        Magician magician = GetComponentInParent <Magician> ();

        if (active)
        {
            magician.ExitBox();
            magician.Reappear();
            magician.using_ability = false;
            this.gameObject.SetActive(false);
            if (num_inside != 0)
            {
                RemoveAllMagicians();
            }
        }
        else
        {
            //transform.position = Vector3.zero;
            magician.EnterBox();
            magician.Disappear();
            magician.using_ability = true;
        }
        active = !active;
    }
コード例 #3
0
    public ISomeInterface DoMagic <T>(Expression <Func <object> > action, Tuple <string, DateTime, decimal> tuple)
        where T : ISomeInterface
    {
        Magician m = new Magician();

        return(m.Magic <T>(() => action, tuple.Item3));
    }
コード例 #4
0
 public void AlphabetToNumberTest()
 {
     Console.WriteLine(Magician.AlphabetToNumberByOrder("A") == 1 ? "true" : "false");
     Console.WriteLine(Magician.AlphabetToNumberByOrder("E") == 5 ? "true" : "false");
     Console.WriteLine(Magician.AlphabetToNumberByOrder("G") == 7 ? "true" : "false");
     Console.WriteLine(Magician.AlphabetToNumberByOrder("AA") == 27 ? "true" : "false");
     Console.WriteLine(Magician.AlphabetToNumberByOrder("AB") == 28 ? "true" : "false");
     Console.WriteLine(Magician.AlphabetToNumberByOrder("AY") == 51 ? "true" : "false");
     Console.WriteLine(Magician.AlphabetToNumberByOrder("AZ") == 52 ? "true" : "false");
     Console.WriteLine(Magician.AlphabetToNumberByOrder("BA") == 53 ? "true" : "false");
     Console.WriteLine(Magician.AlphabetToNumberByOrder("BB") == 54 ? "true" : "false");
     Console.WriteLine(Magician.AlphabetToNumberByOrder("MC") == 341 ? "true" : "false");
     Console.WriteLine(Magician.AlphabetToNumberByOrder("ZZ") == 702 ? "true" : "false");
     Console.WriteLine(Magician.AlphabetToNumberByOrder("AAA") == 703 ? "true" : "false");
     Console.WriteLine(Magician.AlphabetToNumberByOrder("AAB") == 704 ? "true" : "false");
     Console.WriteLine(Magician.AlphabetToNumberByOrder("AAZ") == 728 ? "true" : "false");
     Console.WriteLine(Magician.AlphabetToNumberByOrder("AKU") == 983 ? "true" : "false");
     Console.WriteLine(Magician.AlphabetToNumberByOrder("AZZ") == 1378 ? "true" : "false");
     Console.WriteLine(Magician.AlphabetToNumberByOrder("BAB") == 1380 ? "true" : "false");
     Console.WriteLine(Magician.AlphabetToNumberByOrder("CMC") == 2369 ? "true" : "false");
     Console.WriteLine(Magician.AlphabetToNumberByOrder("AAAA") == 18279 ? "true" : "false");
     Console.WriteLine(Magician.AlphabetToNumberByOrder("ZAA") == 17603 ? "true" : "false");
     Console.WriteLine(Magician.AlphabetToNumberByOrder("YZAA") == 457003 ? "true" : "false");
     Console.WriteLine(Magician.AlphabetToNumberByOrder("ZAAA") == 457679 ? "true" : "false");
 }
コード例 #5
0
 private void SetEditableForm(Magician magician)
 {
     this.NameBox.Text       = magician.Name;
     this.LastnameBox.Text   = magician.Lastname;
     this.BornDate.Value     = magician.Borndate;
     this.House.SelectedItem = magician.House;
     this.SetKindMagicianForm(magician.Kind);
     this.SetSubjectsMagicianForm(magician.Subjects);
 }
コード例 #6
0
        public static void Main(string[] args)
        {
            Unit unit1     = new Unit();
            Unit musketeer = new Musketeer();
            Unit magician  = new Magician();

            unit1.Attack();
            musketeer.Attack();
            magician.Attack();
        }
コード例 #7
0
        public void CalculateMagicCost_NotMatch_Testing1()
        {
            //Arrange
            int expectedResult = 100;
            //Act
            Magician magObj = new Magician(new MagicianHelperSample2());
            int      result = magObj.CalculateMagicCost(3);

            //Assert
            Assert.AreNotEqual(result, expectedResult);
        }
コード例 #8
0
        public void CalculateMagicCost_Match_Testing1()
        {
            //Arrange
            int expectedResult = 100;
            //Act
            Magician magObj = new Magician();
            int      result = magObj.CalculateMagicCost(4);

            //Assert
            Assert.AreEqual(result, expectedResult);
        }
コード例 #9
0
 //removes all magicians from the box on command
 public void RemoveAllMagicians()
 {
     for (int i = 0; i < num_inside; i++)
     {
         Magician magician = players_inside [i].GetComponent <Magician> ();
         magician.touching_box = false;
         magician.ExitBox();
     }
     num_inside = 0;
     players_inside.Clear();
 }
コード例 #10
0
        public void DoMagic_Testing2()
        {
            //Arrange
            int expectedResult = 20;
            //Act
            Magician magObj = new Magician();
            int      result = magObj.DoMagic("XYZ");

            //Assert
            Assert.AreEqual(result, expectedResult);
        }
コード例 #11
0
        public void CalculateMagicCost_Match_Testing(int pTricks, int expectedCost)
        {
            //Arrange
            //int expectedResult = 100;
            //Act
            Magician magObj = new Magician(new MagicHelper());
            int      result = magObj.CalculateMagicCost(pTricks);

            //Assert
            Assert.AreEqual(result, expectedCost);
        }
コード例 #12
0
        public void DoMagic_Testing(String data, int expectedResult)
        {
            //Arrange
            //int expectedResult = 10;

            //Act
            Magician obj = new Magician();
            var      r   = obj.DoMagic(data);

            Assert.AreEqual(r, expectedResult);
        }
コード例 #13
0
        public void DoMagic_Testing3()
        {
            //Arrange
            int expectedResult = 30;
            //Act
            Magician magObj = new Magician(new MagicHelper());
            int      result = magObj.DoMagic("");

            //Assert
            Assert.AreEqual(result, expectedResult);
        }
コード例 #14
0
        public void DoMagic_Testing(String inputValue, int expectedResult)
        {
            //Arrange
            //int expectedResult = 10;
            //Act
            Magician magObj = new Magician(new MagicHelper());
            int      result = magObj.DoMagic(inputValue);

            //Assert
            Assert.AreEqual(result, expectedResult);
        }
コード例 #15
0
        private void create_Click(object sender, EventArgs e)
        {
            this.CurrentMagician = new Magician
            {
                Name     = this.NameBox.Text.ToString(),
                Lastname = this.LastnameBox.Text,
                Borndate = this.BornDate.Value,
                Kind     = this.getKindSelected(),
                House    = this.House.SelectedItem.ToString()
            };

            this.CurrentMagician.Subjects.Add(this.cb0.Checked);
            this.CurrentMagician.Subjects.Add(this.cb1.Checked);
            this.CurrentMagician.Subjects.Add(this.cb2.Checked);
            this.CurrentMagician.Subjects.Add(this.cb3.Checked);
            this.CurrentMagician.Subjects.Add(this.cb4.Checked);
            this.CurrentMagician.Subjects.Add(this.cb5.Checked);

            if (!this.CurrentMagician.Validate())
            {
                MessageBox.Show("El formulario de inscripción a Hogwarts es inválido!");
                return;
            }

            if (this.magicianId != 0)
            {
                this.CurrentMagician.Id = this.magicianId;
                int i = 0;

                foreach (Magician magician in this.ParentForm.Magicians)
                {
                    if (magician.Id == this.CurrentMagician.Id)
                    {
                        break;
                    }
                    i++;
                }

                this.ParentForm.Magicians[i] = this.CurrentMagician;

                this.create.Text      = "Crear";
                this.create.BackColor = System.Drawing.Color.DarkRed;
            }
            else
            {
                this.ParentForm.magicianID++;
                this.CurrentMagician.Id = this.ParentForm.magicianID;
                this.ParentForm.Magicians.Add(CurrentMagician);
            }

            this.cleanBtn_Click(sender, e);
            BindedList.ResetBindings();
        }
コード例 #16
0
    // Start is called before the first frame update
    void Start()
    {
        //Clase
        Character hero    = new Character();                    //Creo una instancia de la clase Character. Constructor por Defecto
        Character heroine = new Character("Lara Craft");        //Constructor personalizado
        Character archer  = new Character("Ojo de Gavilán", 3); //Uso del tercer constructor

        //Estrucutura
        Weapon sword  = new Weapon("Espada roma", 5);
        Weapon sword2 = sword;

        //Character es una clase con la variable que se crea apunta a un puntero de memoria.
        //hero2 y hero apuntan al mismo puntero. Si se modifica una, se cambia el otro.
        Character hero2 = hero;

        hero.PrintCharacterStats();
        hero2.PrintCharacterStats();

        hero.name = "Terence Hill";
        hero2.PrintCharacterStats();
        Debug.Log("*****************");

        //Prueba con estructura
        sword2.PrintWeaponStats();
        sword2.name   = "Excalibur";
        sword2.damage = 255;

        sword.PrintWeaponStats();  //Espada roma - 5 daño
        sword2.PrintWeaponStats(); //Excalibur - 255 daño


        Debug.Log("*****************");
        hero.PrintCharacterStats();
        heroine.PrintCharacterStats();
        archer.PrintCharacterStats();

        Debug.Log("*** Prueba de Herencia ***");
        Paladin palad = new Paladin("Gilman", sword);

        palad.PrintCharacterStats();

        Archer arquero = new Archer("Legolas", new Weapon("Arco de los bosques", 8));

        arquero.PrintCharacterStats();

        Magician mago = new Magician("Gandalf", 5);

        mago.PrintCharacterStats();
    }
コード例 #17
0
ファイル: MagicianTests.cs プロジェクト: ajlopez/TddRocks
        public void SolveSampleCaseTwo()
        {
            Grid grid1 = new Grid(new string[] {
                "1 2 3 4",
                "5 6 7 8",
                "9 10 11 12",
                "13 14 15 16"
            });

            Magician magician = new Magician();

            var result = magician.Resolve(2, grid1, 2, grid1);

            Assert.AreEqual("Bad magician!", result);
        }
コード例 #18
0
ファイル: MagicianTests.cs プロジェクト: ajlopez/TddRocks
        public void SolveSampleCaseThree()
        {
            Grid grid1 = new Grid(new string[] {
                "1 2 3 4",
                "5 6 7 8",
                "9 10 11 12",
                "13 14 15 16"
            });

            Magician magician = new Magician();

            var result = magician.Resolve(2, grid1, 3, grid1);

            Assert.AreEqual("Volunteer cheated!", result);
        }
コード例 #19
0
    //action function called when a player uses the magical box
    public void Action(GameObject mag)
    {
        Magician magician = mag.GetComponent <Magician> ();

        if (magician.in_box)
        {
            magician.ExitBox();
            RemoveMagician(mag);
            num_inside--;
        }
        else
        {
            magician.EnterBox();
            num_inside++;
            players_inside.Add(mag);
        }
    }
コード例 #20
0
        private void remove_Click(object sender, EventArgs e)
        {
            if (null == this.dgvMagicians.CurrentRow)
            {
                return;
            }

            Object objectSelected;

            objectSelected = this.dgvMagicians.CurrentRow.DataBoundItem;
            Magician selectedMagician = (Magician)objectSelected;

            this.ParentForm.Magicians.Remove(selectedMagician);
            this.cleanBtn_Click(sender, e);

            BindedList.ResetBindings();
        }
コード例 #21
0
        private void edit_Click(object sender, EventArgs e)
        {
            if (null == this.dgvMagicians.CurrentRow)
            {
                return;
            }

            Object objectSelected;

            objectSelected = this.dgvMagicians.CurrentRow.DataBoundItem;
            Magician selectedMagician = (Magician)objectSelected;

            this.magicianId       = selectedMagician.Id;
            this.create.Text      = "Editar";
            this.create.BackColor = System.Drawing.SystemColors.Desktop;
            this.SetEditableForm(selectedMagician);

            BindedList.ResetBindings();
        }
コード例 #22
0
        public static Character CreateNewCharacter(Class characterClass, string name)
        {
            var character = new Character();

            using (var context = new ConsoleWorldContext())
            {
                if (characterClass.ToString() == "Archer")
                {
                    character = new Archer();
                }
                else if (characterClass.ToString() == "Knight")
                {
                    character = new Knight();
                }
                else if (characterClass.ToString() == "Magician")
                {
                    character = new Magician();
                }
                else if (characterClass.ToString() == "Robot")
                {
                    character = new Robot();
                }
                else if (characterClass.ToString() == "Thief")
                {
                    character = new Thief();
                }
                else if (characterClass.ToString() == "Viking")
                {
                    character = new Viking();
                }

                character.Name = name;
                context.Characters.Add(character);
                context.SaveChanges();

                var id = context.Characters.FirstOrDefault(c => c.Name == name).Id;
                context.CharacterItems.Add(new CharacterItem(id, 10, 10)); // 28 - normal key
                context.SaveChanges();
            }

            return(character);
        }
コード例 #23
0
    void Start()
    {
        Debug.Log("===================== Strategy Pattern =====================");
        Mob AllRounder = new Knight(new MoveLand(), new Attack());

        AllRounder.Move();
        AllRounder.Attack();

        AllRounder = new Magician(new MoveSky(), new Attack());
        AllRounder.Move();
        AllRounder.Attack();

        AllRounder = new Healer(new MoveLand(), new NoAttack());
        AllRounder.Move();
        AllRounder.Attack();

        AllRounder = new Healer(new MoveLand(), new SpecialAttack());
        AllRounder.Move();
        AllRounder.Attack();
    }
コード例 #24
0
 //Реализация интерфейса IMagic (выполнения заклинания)
 public void Cast(Magician initiator, Character character, uint power)
 {
     if (initiator.Condition == Character.ConditionType.dead)
     {
         throw new ArgumentException("Инициатор не может быть мёртв!");
     }
     if (Cost * power > initiator.Mana)
     {
         throw new ArgumentException("Недостаточно маны");
     }
     if (this.IsMotor && (!character.IsMovable || character.Condition == Character.ConditionType.paralyzed))
     {
         throw new ArgumentException("Персонаж должен уметь двигаться для использования этого заклинания!");
     }
     if (this.IsVerbal && !character.IsTalkable)
     {
         throw new ArgumentException("Персонаж должен уметь говорить для использования этого заклинания!");
     }
     OnCast(character, power);
     initiator.Mana -= Cost * power;
 }
コード例 #25
0
ファイル: MagicianTests.cs プロジェクト: ajlopez/TddRocks
        public void SolveSampleCaseOne()
        {
            Grid grid1 = new Grid(new string[] {
                "1 2 3 4",
                "5 6 7 8",
                "9 10 11 12",
                "13 14 15 16"
            });

            Grid grid2 = new Grid(new string[] {
                "1 2 5 4",
                "3 11 6 15",
                "9 10 7 12",
                "13 14 8 16"
            });

            Magician magician = new Magician();

            var result = magician.Resolve(2, grid1, 3, grid2);

            Assert.AreEqual(7, result);
        }
コード例 #26
0
    //occurs when a magician presses action 2
    public void Action2(GameObject magician)
    {
        Magician mag = magician.GetComponent <Magician> ();

        if (!open)
        {
            return;
        }
        else
        {
            if (!mag.Hiding())
            {
                mag.EnterCloset();
                eyes_rend.sprite = sprites [++num_inside];
            }
            else
            {
                mag.ExitCloset();
                eyes_rend.sprite = sprites [--num_inside];
            }
        }
    }
コード例 #27
0
ファイル: Program.cs プロジェクト: ajlopez/TddRocks
        public static void Main(string[] args)
        {
            string inputname = args[0];
            string outputname = args[1];

            string[] lines = File.ReadAllLines(inputname);

            int ncases = int.Parse(lines[0]);
            IList<string> results = new List<string>();
            Magician magician = new Magician();

            for (int k = 0; k < ncases; k++)
            {
                int nline = k * 10 + 1;

                int nrow1 = int.Parse(lines[nline]);

                Grid grid1 = new Grid(new string[] {
                    lines[nline+1],
                    lines[nline+2],
                    lines[nline+3],
                    lines[nline+4]
                });

                int nrow2 = int.Parse(lines[nline+5]);

                Grid grid2 = new Grid(new string[] {
                    lines[nline+6],
                    lines[nline+7],
                    lines[nline+8],
                    lines[nline+9]
                });

                results.Add(string.Format("Case #{0}: {1}", k + 1, magician.Resolve(nrow1, grid1, nrow2, grid2)));
            }

            File.WriteAllLines(outputname, results.ToArray());
        }
コード例 #28
0
ファイル: FMain.cs プロジェクト: 1spb-org/g-text2midi
        void Speak()
        {
            var voice = comboBox1.SelectedItem?.ToString();

            voice = voice == trnd ? null : voice;


            if (textBox1.Text.Length == 0)
            {
                textBox1.Text = Example();
            }

            Task.Run(() => {
                try
                {
                    Magician.ParseAndPlay(textBox1.Text, voice);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(this, ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                }
            });
        }
コード例 #29
0
        static void Main(string[] args)
        {
            ILuptator mag1 = new Magician("Gigi");
            ILuptator mag2 = new Razboinic("Zizi");

            Arcas magg = new Arcas("zzzz");

            magg.Test(mag2);

            ILupta    lupta      = new Lupta1vs1(mag1, mag2);
            ILuptator castigator = lupta.Desfasurare();

            Console.WriteLine($"Meciul a fost castigat de {castigator.Rasa} {castigator.Nume}");

            ILupta    turnament           = new Turnament(mag1, mag2, mag1, mag2);
            ILuptator castigatorturnament = turnament.Desfasurare();

            Console.WriteLine($"Meciul a fost castigat de {castigatorturnament.Rasa} {castigatorturnament.Nume}");

            ILupta    turnament16           = new Turnament(new List <ILuptator>(), TipTurnament.Luptatori16);
            ILuptator castigatorturnament16 = turnament16.Desfasurare();

            Console.WriteLine($"Meciul a fost castigat de {castigatorturnament16.Rasa} {castigatorturnament16.Nume}");
        }
コード例 #30
0
 private void Awake()
 {
     _archerScript   = GameObject.FindObjectOfType <Archer>();
     _magicianScript = GameObject.FindObjectOfType <Magician>();
     _bossScript     = GameObject.FindObjectOfType <Boss>();
 }
コード例 #31
0
 public void Cast(Magician initiator, Character character)
 {
     throw new NotImplementedException("Инициатор не нужен!");
 }
コード例 #32
0
        public static void SelectChampions(Champion champion)
        {
            int  cNumber = 0;
            bool check   = true;
            var  items   = GetItems();

            switch (champion.Type)
            {
            case TypeEnum.Adc:
                Adc adc = new Adc();
                adc.Name = champion.Name;
                adc.Type = TypeEnum.Adc;
                do
                {
                    foreach (var item in items)
                    {
                        Console.WriteLine("{0}-{1}", item.Id, item.Name);
                    }
                    Console.WriteLine("Lütfen Şampiyon Ekipmanlarını Seçiniz!");
                    do
                    {
                        Tuple <bool, int> adcCheck = CheckNumber(1, 9);
                        check   = adcCheck.Item1;
                        cNumber = adcCheck.Item2;
                    } while (check);
                    check = true;
                    var selectedItem = items.FirstOrDefault(x => x.Id == cNumber);
                    if (selectedItem == null)
                    {
                        Environment.Exit(0);
                    }

                    adc.AddItem(selectedItem);
                    Console.WriteLine("Şampiyon Ekipmanı seçimine devam edilsin mi! Y:Evet N:Hayır");
                    string result = string.Empty;
                    do
                    {
                        result = Console.ReadLine();
                        if (result != "N" && result != "Y")
                        {
                            Console.WriteLine("Yanlış seçim yaptınız!Şampiyon Ekipmanı seçimine devam edilsin mi! Y:Evet N:Hayır");
                        }
                        else
                        {
                            check = false;
                        }
                    } while (check);
                    check = true;
                    if (result == "N")
                    {
                        if (adc.CheckItem())
                        {
                            check = false;
                            adc.WriteProperties();
                        }
                        else
                        {
                            Console.WriteLine("Şampiyon Ekipmanı tamamlanmamıştır ekipman eklemeye devam ediniz.");
                        }
                    }
                }while (check);
                break;

            case TypeEnum.Support:
                Support support = new Support();
                support.Name = champion.Name;
                support.Type = TypeEnum.Support;
                do
                {
                    foreach (var item in items)
                    {
                        Console.WriteLine("{0}-{1}", item.Id, item.Name);
                    }
                    Console.WriteLine("Lütfen Şampiyon Ekipmanlarını Seçiniz!");
                    do
                    {
                        Tuple <bool, int> supCheck = CheckNumber(1, 9);
                        check   = supCheck.Item1;
                        cNumber = supCheck.Item2;
                    } while (check);
                    check = true;
                    var selectedItem = items.FirstOrDefault(x => x.Id == cNumber);
                    if (selectedItem == null)
                    {
                        Environment.Exit(0);
                    }

                    support.AddItem(selectedItem);
                    Console.WriteLine("Şampiyon Ekipmanı seçimine devam edilsin mi! Y:Evet N:Hayır");
                    string result = string.Empty;
                    do
                    {
                        result = Console.ReadLine();
                        if (result != "N" && result != "Y")
                        {
                            Console.WriteLine("Yanlış seçim yaptınız!Şampiyon Ekipmanı seçimine devam edilsin mi! Y:Evet N:Hayır");
                        }
                        else
                        {
                            check = false;
                        }
                    } while (check);
                    check = true;
                    if (result == "N")
                    {
                        if (support.CheckItem())
                        {
                            check = false;
                            support.WriteProperties();
                        }
                        else
                        {
                            Console.WriteLine("Şampiyon Ekipmanı tamamlanmamıştır ekipman eklemeye devam ediniz.");
                        }
                    }
                }while (check);
                break;

            case TypeEnum.Magician:
                Magician magician = new Magician();
                magician.Name = champion.Name;
                magician.Type = TypeEnum.Magician;
                do
                {
                    foreach (var item in items)
                    {
                        Console.WriteLine("{0}-{1}", item.Id, item.Name);
                    }
                    Console.WriteLine("Lütfen Şampiyon Ekipmanlarını Seçiniz!");
                    do
                    {
                        Tuple <bool, int> magCheck = CheckNumber(1, 9);
                        check   = magCheck.Item1;
                        cNumber = magCheck.Item2;
                    } while (check);
                    check = true;
                    var selectedItem = items.FirstOrDefault(x => x.Id == cNumber);
                    if (selectedItem == null)
                    {
                        Environment.Exit(0);
                    }

                    magician.AddItem(selectedItem);
                    Console.WriteLine("Şampiyon Ekipmanı seçimine devam edilsin mi! Y:Evet N:Hayır");
                    string result = string.Empty;
                    do
                    {
                        result = Console.ReadLine();
                        if (result != "N" && result != "Y")
                        {
                            Console.WriteLine("Yanlış seçim yaptınız!Şampiyon Ekipmanı seçimine devam edilsin mi! Y:Evet N:Hayır");
                        }
                        else
                        {
                            check = false;
                        }
                    } while (check);
                    check = true;
                    if (result == "N")
                    {
                        if (magician.CheckItem())
                        {
                            check = false;
                            magician.WriteProperties();
                        }
                        else
                        {
                            Console.WriteLine("Şampiyon Ekipmanı tamamlanmamıştır ekipman eklemeye devam ediniz.");
                        }
                    }
                }while (check);
                break;
            }
        }
コード例 #33
0
        public IGame GetGame(string gameName)
        {
            if (gameName == "MainGame")
            {
                MainGame game = new MainGame();
                Position startingPositionOfOuterBorder = new Position(0, 0);
                addBoxToGame(game, startingPositionOfOuterBorder, Constants.BoxWidth, Constants.BoxHeight);



                //// TODO: implement abstract logic for this
                int outerBoxWidthMiddle       = Constants.BoxWidth / 2;
                int outerBoxHeightMiddle      = Constants.BoxHeight / 2;
                int innerBoxPreferedWidth     = Constants.BoxWidth / 10 + 1;
                int innerBoxPreferedHeight    = Constants.BoxHeight / 10 + 1;
                int innerBoxStartingWidthCoo  = outerBoxWidthMiddle - (innerBoxPreferedWidth / 2) - 1;
                int innerBoxStartingHeightCoo = outerBoxHeightMiddle - (innerBoxPreferedHeight / 2) - 1;

                Position innerBoxStarterPosition = new Position(innerBoxStartingWidthCoo, innerBoxStartingHeightCoo);
                addBoxToGame(game, innerBoxStarterPosition, innerBoxPreferedWidth, innerBoxPreferedHeight);
                game.SetInitPositionOfBorderAroundWinArea(innerBoxStarterPosition);

                Position      winAreaTopLeft = new Position(innerBoxStarterPosition.GetWidthCoo() + 1, innerBoxStarterPosition.GetDebthCoo() + 1);
                IDisplayPiece winArea        = new WinArea(winAreaTopLeft);
                game.AddBoardElement(winArea);

                Position playerStartingPosition = new Position(Constants.PlayerStartingX, Constants.PlayerStartingY);

                AbstractHero player;
                int          randNum = Generator.GetRandomNumber(1, 3);
                if (randNum == 1)
                {
                    player = new Priest(playerStartingPosition);
                }
                else
                {
                    player = new Magician(playerStartingPosition);
                }


                player.Id = this.UseCurrentID();

                game.AddBoardElement(player);

                //// TODO: add more quests
                List <Position> bombPositions = new List <Position>();

                var questNames = new List <string>
                {
                    "QuizQuest",
                    "FallingRocks",
                    "FlappyBird",
                    "GuessTheNumber",
                    "Hangman"
                };

                var questsCount = questNames.Count;

                for (int j = 0; j < 4; j++)
                {
                    var xRand1 = 0;
                    var xRand2 = 0;
                    var yRand1 = 0;
                    var yRand2 = 0;
                    switch (j)
                    {
                    case 0:
                        xRand1 = 1;
                        xRand2 = innerBoxStartingWidthCoo - 1;
                        yRand1 = 1;
                        yRand2 = innerBoxStartingHeightCoo - 1;
                        break;

                    case 1:
                        xRand1 = innerBoxStartingWidthCoo + innerBoxPreferedWidth + 1;
                        xRand2 = Constants.BoxWidth - 1;
                        yRand1 = 1;
                        yRand2 = innerBoxStartingHeightCoo - 1;
                        break;

                    case 2:
                        xRand1 = 1;
                        xRand2 = innerBoxStartingWidthCoo - 1;
                        yRand1 = innerBoxStartingHeightCoo + innerBoxPreferedHeight + 1;
                        yRand2 = Constants.BoxHeight - 1;
                        break;

                    case 3:
                        xRand1 = innerBoxStartingWidthCoo + innerBoxPreferedWidth + 1;
                        xRand2 = Constants.BoxWidth - 1;
                        yRand1 = innerBoxStartingHeightCoo + innerBoxPreferedHeight + 1;
                        yRand2 = Constants.BoxHeight - 1;
                        break;

                    default:
                        break;
                    }

                    for (int i = 0; i < 3; i++)
                    {
                        IDisplayPiece quizQuest = QuestFactory.GetQuest(
                            questNames[Generator.GetRandomNumber(0, questsCount)],
                            this.UseCurrentID(),
                            Generator.GetRandomNumber(xRand1, xRand2),
                            Generator.GetRandomNumber(yRand1, yRand2));

                        game.AddBoardElement(quizQuest);
                    }

                    for (int k = 0; k < 5; k++)
                    {
                        Position bombPosition = new Position(Generator.GetRandomNumber(xRand1, xRand2), Generator.GetRandomNumber(yRand1, yRand2));
                        Bomb     bomb         = new Bomb(bombPosition, Generator.GetRandomNumber(1, 4));
                        bomb.Id = this.UseCurrentID();
                        game.AddBoardElement(bomb);
                    }
                }


                PointsItem scoreShower = new PointsItem(new Position(Constants.PlayerScoreWidth, Constants.PlayerScoreDebth));
                scoreShower.MainGame     = game;
                scoreShower.TypeOfPoints = "points";
                scoreShower.Id           = this.UseCurrentID();
                scoreShower.Color        = System.ConsoleColor.White;
                game.AddBoardElement(scoreShower);


                game.SetMinimumWinScore(1);

                return(game);
            }


            return(null);
        }
コード例 #34
0
 public SpellsList(Characters.Magician owner)
 {
     Spells = new List <Spell>();
     Owner  = owner;
 }