Exemplo n.º 1
0
        public override Rule Check(string word)
        {
            if (word.Length > 3 && ("" + word[0] + word[1] + word[2]).Equals("ngh")) //nếu chữ cái đầu là ngh tăng 2 lần vị trí con trỏ và kiểm tra nguyên âm đầu => Rule3
            {
                Rule3 rule3 = new Rule3();
                rule3.index = this.index + 2; // tang con tro len 2
                return(rule3);
            }
            string firstPairLetter = word.Substring(0, 2);

            if (pairConsonants.Contains(firstPairLetter)) // la cap phu am => chech nguyen am giua goi Rule3 tăng con trỏ
            {
                Rule3 rule3 = new Rule3();
                rule3.index = this.index + 1; // tang con tro len 1
                return(rule3);
            }

            if (Rule1.singleConsonants.Contains(word[1] + "")) // chữ cái thứ 2 là phụ âm =>  phụ âm ko hợp lệ
            {
                return(new Wrong());
            }
            // chữ cái thứ 2 là nguyên ầm = > chech nguyen am giua goi Rule3 - khong tang con tro
            else
            {
                Rule3 rule3 = new Rule3();
                rule3.index = this.index;
                return(rule3);
            }
        }
Exemplo n.º 2
0
        public override Rule Check(string word)
        {
            string firstLetter = word[this.index] + "";

            if (singleConsonants.Contains(firstLetter)) //Nếu chữ cái đầu là phụ âm => check cặp phụ âm
            {
                Rule2 rule2 = new Rule2();
                rule2.index = this.index + 1; //tăng vị trí con trỏ lên 1;
                return(rule2);
            }
            else // Nếu chữ cái đầu ko là phụ âm -> check nguyên âm đầu - giu nguyen vi tri con tro
            {
                Rule3 rule3 = new Rule3();
                rule3.index = this.index;
                return(rule3);
            }
        }