Beispiel #1
0
 private void btnbang_click(object sender, EventArgs e)
 {
     Tinhketqua();
     IsTyingNumber = false;
     nho           = 0;
     pheptoan      = PhepToan.None;
 }
    public static PhepToan getPhepToan(PhepToan giatri, List <PhepToan> lst)
    {
        List <PhepToan> tmg = new List <PhepToan>();

        foreach (PhepToan item in lst)
        {
            if (item.Congthuc.Equals(giatri.Congthuc))
            {
                continue;
            }
            if (item.Ketqua == giatri.Ketqua)
            {
                tmg.Add(item);
            }
        }

        if (tmg.Count > 0)
        {
            int chon = UnityEngine.Random.Range(0, tmg.Count);
            return(new PhepToan(tmg[chon].Congthuc, tmg[chon].Ketqua, "number"));
        }
        else
        {
            return(new PhepToan("" + giatri.Ketqua, giatri.Ketqua, "number"));
        }
    }
    public void XuatDaTa()
    {
        if (children.Count > 0)
        {
            PhepToan tmvi;
            int      chon = UnityEngine.Random.Range(0, children.Count);

            vtg = chon;

            tmvi   = new PhepToan(children[chon].Pheptoan, children[chon].Giatri, children[chon].mLoai);
            BangKq = children[chon];


            SpItemMonkey levelCreate = spPrefab.Spawn <SpItemMonkey>
                                       (
                new Vector3(-5f, -241f, 33),
                spPrefab.transform.rotation
                                       );
            levelCreate.Giatri   = tmvi.Ketqua;
            levelCreate.Pheptoan = "" + tmvi.Congthuc;

            levelCreate.setData(tmvi.Loai);
            BangSoSanh = levelCreate;
            BangSoSanh.gameObject.SetActive(true);
            currentState = State.InGame1;

            ConKhi.SetSprite("khihoi");
        }
    }
    public static PhepToan getCongThuc(PhepToan giatri)
    {
        string ct = giatri.Congthuc.Trim();

        string[] items = ct.Split(new Char[] { '-', '+', 'x', ':' });
        string   tm    = "";

        if (ct.Contains("+"))
        {
            tm = ClsLanguage.doTong();
        }
        else if (ct.Contains("-"))
        {
            tm = ClsLanguage.doHieu();
        }
        else if (ct.Contains("x"))
        {
            tm = ClsLanguage.doNhan();
        }
        else if (ct.Contains(":"))
        {
            tm = ClsLanguage.doChia();
        }

        if (tm.Trim().Equals(""))
        {
            return(new PhepToan("" + giatri.Congthuc, giatri.Ketqua, "number"));
        }
        else
        {
            return(new PhepToan(tm + items[0] + ClsLanguage.doAnd() + items[1], giatri.Ketqua, "number"));
        }
    }
 private void btnBang_Click(object sender, EventArgs e)
 {
     TinhKetQua();
     isTypingNumber = false;
     nho            = 0;
     pheptoan       = PhepToan.None;
 }
Beispiel #6
0
 private void Clear()
 {
     isTypingNumber  = false;
     nho             = 0;
     pheptoan        = PhepToan.None;
     isCalculated    = true;
     isFloatingPoint = false;
 }
Beispiel #7
0
        private void NhapPhepToanMotNgoi(string pt)
        {
            pheptoan = XacDinhPhepToan(pt);

            TinhKetQua();

            isTypingNumber  = false;
            isFloatingPoint = false;
        }
    public static List <PhepToan> FakeData(int dau, int cuoi)
    {
        List <PhepToan> lstTam = new List <PhepToan>();

        for (int i = dau; i <= cuoi; i++)
        {
            PhepToan pt = new PhepToan("" + i, "" + i, "number");
            lstTam.Add(pt);
        }
        return(lstTam);
    }
Beispiel #9
0
        private void NhapPhepToan(string pt)
        {
            if (!isCalculated)
            {
                TinhKetQua();
            }

            pheptoan = XacDinhPhepToan(pt);

            nho = double.Parse(lblDisplay.Text);

            isTypingNumber  = false;
            isCalculated    = false;
            isFloatingPoint = false;
        }
        private void NhapPhepToan(object sender, EventArgs e)
        {
            TinhKetQua();

            Button btn = (Button)sender;
            switch (btn.Text)
            {
                case "+": pheptoan = PhepToan.Cong; break;
                case "-": pheptoan = PhepToan.Tru; break;
                case "*": pheptoan = PhepToan.Nhan; break;
                case "/": pheptoan = PhepToan.Chia; break;
            }
            nho = double.Parse(lblDisplay.Text);
            isTypingNumber = false;

        }
    void CreateLevel(float positionX, PhepToan vio)
    {
        SpItemMonkey levelCreate = spPrefab.Spawn <SpItemMonkey>
                                   (
            new Vector3(positionX, startY - 115f, 71f),
            spPrefab.transform.rotation
                                   );

        levelCreate.Giatri   = vio.Ketqua;
        levelCreate.Pheptoan = "" + vio.Congthuc;
        levelCreate.setData(vio.Loai);


        levelCreate.transform.parent = XuLy.transform;
        levelCreate.gameObject.SetActive(false);
    }
Beispiel #12
0
    void GetDaTaBang(string tmg, ref List <PhepToan> lstPhep)
    {
        string[] mang = tmg.Trim().Split('#');
        //Debug.Log("KK:"+mang[mang.Length-2]);


        for (int i = 0; i < mang.Length - 1; i++)
        {
            string[] items = mang[i].Split('*');

            PhepToan pt = new PhepToan(items[0], items[1], items[2]);

            lstPhep.Add(pt);
        }


        // Debug.Log("1:" + lst1.Count + "2:" + lst2.Count + "3:" + lst3.Count + "4:" + lst4.Count + "5:" + lst5.Count + "6:" + lst6.Count);
    }
        private void NhapPhepToan(object sender, EventArgs e)
        {
            if (nho != 0)
            {
                TinhKetQua();
            }
            Button bnt = (Button)sender;

            switch (bnt.Text)
            {
            case "+": pheptoan = PhepToan.Cong; break;

            case "-": pheptoan = PhepToan.Tru; break;

            case "*": pheptoan = PhepToan.Nhan; break;

            case "/": pheptoan = PhepToan.Chia; break;
            }
            nho            = double.Parse(lblHienThi.Text);
            isTypingNumber = false;
        }
        private void NhapPhepToan(object sender, EventArgs e)
        {
            if (nho != 0)
            {
                TinhKetQua();
            }
            Button btn = (Button)sender;

            switch (btn.Text)
            {
            case "+": pheptoan = PhepToan.cong; break;

            case "-": pheptoan = PhepToan.tru; break;

            case "*": pheptoan = PhepToan.nhan; break;

            case "/": pheptoan = PhepToan.chia; break;
            }
            nho            = double.Parse(lbldisplay.Text);
            istypingNumber = false;
        }
    public static List <PhepToan> FakeData(int dau, int cuoi, int sl)
    {
        List <PhepToan> lstTam = new List <PhepToan>();

        while (lstTam.Count < sl)
        {
            int chon = UnityEngine.Random.Range(dau, cuoi) + 1;
            if (lstTam.Exists(e => e.Ketqua.Equals("" + chon)))
            {
                continue;
            }
            else
            {
                PhepToan pt = new PhepToan("" + chon, "" + chon, "number");
                lstTam.Add(pt);
            }
        }


        return(lstTam);
    }
    public static PhepToan getPhepToan(PhepToan giatri, ref List <PhepToan> lst, int pc)
    {
        lst.RemoveAt(pc);
        List <PhepToan> tmg = new List <PhepToan>();

        foreach (PhepToan item in lst)
        {
            if (item.Congthuc.Equals(giatri.Congthuc))
            {
                continue;
            }
            if (ClsThaoTac.doKetQua(item.Ketqua) == ClsThaoTac.doKetQua((giatri.Ketqua)))
            {
                tmg.Add(item);
            }
        }

        if (tmg.Count > 0)
        {
            int    chon   = UnityEngine.Random.Range(0, tmg.Count);
            string tambo  = "" + tmg[chon].Congthuc;
            string tambo2 = "" + tmg[chon].Congthuc;

            if (tambo.Contains("c"))
            {
                string[] mang = tambo.Split('c');
                if (mang[0].Contains("/") && mang[1].Contains("/"))
                {
                    tambo = "phanhai";
                }
                else if (mang[0].Contains("/"))
                {
                    tambo = "phantrai";
                }
                else if (mang[1].Contains("/"))
                {
                    tambo = "phanphai";
                }
                else
                {
                    tambo  = "number";
                    tambo2 = mang[0] + ClsLanguage.doOf() + mang[1];
                }
            }
            else if (tambo.Contains("]"))
            {
                if (tambo.Contains("+") || tambo.Contains("-") || tambo.Contains("x") || tambo.Contains(":"))
                {
                    tambo = "mixhai";
                }
                else
                {
                    tambo = "mix";
                }
            }
            else if (tambo.Contains("/"))
            {
                if (tambo.Contains("+") || tambo.Contains("-") || tambo.Contains("x") || tambo.Contains(":"))
                {
                    string[] mang = tambo.Split(new Char[] { '-', '+', 'x', ':' });
                    if (mang.Length >= 3)
                    {
                        int dem = 0;
                        for (int i = 0; i < tambo.Count(); i++)
                        {
                            string dkm = "" + tambo[i];
                            if (dkm.Equals("/"))
                            {
                                dem++;
                            }
                        }
                        if (dem >= 2)
                        {
                            tambo = "phansoba";
                        }
                        else
                        {
                            tambo = "phanso";
                        }
                    }
                    else
                    {
                        if (mang[0].Contains("/") && mang[1].Contains("/"))
                        {
                            tambo = "phansohai";
                        }
                        else if (mang[0].Contains("/"))
                        {
                            tambo = "phansotrai";
                        }
                        else if (mang[1].Contains("/"))
                        {
                            tambo = "phansophai";
                        }
                        else
                        {
                            tambo = "phanso";
                        }
                    }
                }
                else
                {
                    tambo = "phanso";
                }
            }
            else
            {
                tambo = "number";
            }

            return(new PhepToan(tambo2, tmg[chon].Ketqua, tambo));
        }
        else
        {
            if (giatri.Ketqua.Contains("/"))
            {
                return(new PhepToan("" + giatri.Ketqua, giatri.Ketqua, "phanso"));
            }
            else
            {
                return(new PhepToan("" + giatri.Ketqua, giatri.Ketqua, "number"));
            }
        }
    }
Beispiel #17
0
    void chonData3(ref List <PhepToan> tmg1, List <PhepToan> lstTam, int loai)
    {
        List <PhepToan> lstRank = new List <PhepToan>();

        foreach (PhepToan item in lstTam)
        {
            if (loai == 4)
            {
                if (item.Loai.Equals("" + 30))
                {
                    lstRank.Add(item);
                }
            }
            else if (loai == 5)
            {
                if (item.Loai.Equals("" + 21) || item.Loai.Equals("" + 22))
                {
                    lstRank.Add(item);
                }
            }
            else if (loai == 6)
            {
                if (item.Loai.Equals("" + 23))
                {
                    lstRank.Add(item);
                }
            }
            else if (loai == 7)
            {
                if (item.Loai.Equals("" + 35))
                {
                    lstRank.Add(item);
                }
            }
            else if (loai == 8)
            {
                if (item.Loai.Equals("" + 24))
                {
                    lstRank.Add(item);
                }
            }
            else if (loai == 9)
            {
                if (item.Loai.Equals("" + 25))
                {
                    lstRank.Add(item);
                }
            }
            else if (loai == 10)
            {
                if (item.Loai.Equals("" + 36))
                {
                    lstRank.Add(item);
                }
            }
            else if (loai == 11)
            {
                if (item.Loai.Equals("" + 26) || item.Loai.Equals("" + 28))
                {
                    lstRank.Add(item);
                }
            }
            else if (loai == 12)
            {
                if (item.Loai.Equals("" + 27) || item.Loai.Equals("" + 29))
                {
                    lstRank.Add(item);
                }
            }
            else if (loai == 13)
            {
                if (item.Loai.Equals("" + 37))
                {
                    lstRank.Add(item);
                }
            }
            else if (loai == 14 || loai == 15)
            {
                if (item.Loai.Equals("" + 31))
                {
                    lstRank.Add(item);
                }
            }
            else if (loai == 16)
            {
                if (item.Loai.Equals("" + 32))
                {
                    lstRank.Add(item);
                }
            }
            else if (loai == 17 || loai == 18)
            {
                if (item.Loai.Equals("" + 33))
                {
                    lstRank.Add(item);
                }
            }
            else if (loai == 19 || loai == 20)
            {
                if (item.Loai.Equals("" + 34))
                {
                    lstRank.Add(item);
                }
            }
        }

        if (loai == 5)
        {
            lstRank = lstRank.Concat(ClsThaoTac.FakeData(70, 80)).ToList();
        }
        else if (loai == 6)
        {
            lstRank = lstRank.Concat(ClsThaoTac.FakeData(90, 100)).ToList();
        }

        #region Singleton
        if (loai == 4 || loai == 8 || loai == 9 || loai == 11 || loai == 12)
        {
            //1 phep toan
            while (tmg1.Count < 20)
            {
                int  chon = UnityEngine.Random.Range(0, lstRank.Count);
                bool ok   = false;
                for (int i = 0; i < tmg1.Count; i++)
                {
                    if (lstRank[chon].Ketqua == tmg1[i].Ketqua)
                    {
                        ok = true;
                        break;
                    }
                }
                if (ok == false)
                {
                    PhepToan pt1;
                    if (chon % 7 == 0)
                    {
                        pt1 = new PhepToan(ClsLanguage.doNumber() + lstRank[chon].Ketqua, lstRank[chon].Ketqua, "number");
                    }
                    else if (chon % 4 == 0)
                    {
                        pt1 = new PhepToan("" + lstRank[chon].Ketqua, lstRank[chon].Ketqua, "number");
                    }
                    else
                    {
                        int nh = UnityEngine.Random.Range(0, 3);
                        if (nh == 1)
                        {
                            pt1 = ClsThaoTac.getCongThuc(lstRank[chon]);
                        }
                        else
                        {
                            pt1 = new PhepToan("" + lstRank[chon].Congthuc, lstRank[chon].Ketqua, "number");
                        }
                    }

                    tmg1.Add(pt1);
                    lstSapXep.Add(pt1);
                }
            }
        }
        else if (loai == 13)
        {
            //gio phut
            while (tmg1.Count < 20)
            {
                int  chon = UnityEngine.Random.Range(0, lstRank.Count);
                bool ok   = false;
                for (int i = 0; i < tmg1.Count; i++)
                {
                    if (lstRank[chon].Ketqua == tmg1[i].Ketqua)
                    {
                        ok = true;
                        break;
                    }
                }
                if (ok == false)
                {
                    string   ptmoi = ClsThaoTac.getTimeCongThuc(lstRank[chon].Congthuc);
                    PhepToan pt1   = new PhepToan(ptmoi, lstRank[chon].Ketqua, "number");
                    tmg1.Add(pt1);
                    lstSapXep.Add(pt1);
                }
            }
        }
        else if (loai == 14 || loai == 15 || loai == 16 || loai == 17 || loai == 18 || loai == 19 || loai == 20)
        {
            //2 phep toan
            while (tmg1.Count < 20)
            {
                int  chon = UnityEngine.Random.Range(0, lstRank.Count);
                bool ok   = false;
                for (int i = 0; i < tmg1.Count; i++)
                {
                    if (lstRank[chon].Ketqua == tmg1[i].Ketqua)
                    {
                        ok = true;
                        break;
                    }
                }
                if (ok == false)
                {
                    PhepToan pt1;
                    if (chon % 7 == 0)
                    {
                        pt1 = new PhepToan(ClsLanguage.doNumber() + lstRank[chon].Ketqua, lstRank[chon].Ketqua, "number");
                    }
                    else if (chon % 4 == 0)
                    {
                        pt1 = new PhepToan("" + lstRank[chon].Ketqua, lstRank[chon].Ketqua, "number");
                    }
                    else
                    {
                        pt1 = new PhepToan("" + lstRank[chon].Congthuc, lstRank[chon].Ketqua, "number");
                    }

                    tmg1.Add(pt1);
                    lstSapXep.Add(pt1);
                }
            }
        }
        else if (loai == 7 || loai == 10)
        {
            string dv = "mm";
            if (loai == 7)
            {
                dv = "mm";
            }
            else
            {
                dv = "dm";
            }

            //1 phep toan biet truopc number
            while (tmg1.Count < 20)
            {
                int  chon = UnityEngine.Random.Range(0, lstRank.Count);
                bool ok   = false;
                for (int i = 0; i < tmg1.Count; i++)
                {
                    if (lstRank[chon].Ketqua == tmg1[i].Ketqua)
                    {
                        ok = true;
                        break;
                    }
                }
                if (ok == false)
                {
                    PhepToan pt1;
                    if (chon % 2 == 0)
                    {
                        pt1 = new PhepToan("" + lstRank[chon].Ketqua + dv, lstRank[chon].Ketqua, "number");
                    }
                    else
                    {
                        pt1 = new PhepToan("" + lstRank[chon].Congthuc, lstRank[chon].Ketqua, "number");
                    }

                    tmg1.Add(pt1);
                    lstSapXep.Add(pt1);
                }
            }
        }
        else if (loai == 5 || loai == 6)
        {
            //1 phep toan biet truopc number
            while (tmg1.Count < 20)
            {
                int  chon = UnityEngine.Random.Range(0, lstRank.Count);
                bool ok   = false;
                for (int i = 0; i < tmg1.Count; i++)
                {
                    if (lstRank[chon].Ketqua == tmg1[i].Ketqua)
                    {
                        ok = true;
                        break;
                    }
                }
                if (ok == false)
                {
                    PhepToan pt1;
                    if (chon % 7 == 0 && lstRank[chon].Loai.Equals("number"))
                    {
                        pt1 = new PhepToan(ClsLanguage.doNumber() + lstRank[chon].Ketqua, lstRank[chon].Ketqua, "number");
                    }
                    else if (chon % 4 == 0 && lstRank[chon].Loai.Equals("number"))
                    {
                        pt1 = new PhepToan("" + lstRank[chon].Ketqua, lstRank[chon].Ketqua, "number");
                    }
                    else
                    {
                        int nh = UnityEngine.Random.Range(0, 3);
                        if (nh == 0)
                        {
                            pt1 = ClsThaoTac.getCongThuc(lstRank[chon]);
                        }
                        else
                        {
                            pt1 = new PhepToan("" + lstRank[chon].Congthuc, lstRank[chon].Ketqua, "number");
                        }
                    }

                    tmg1.Add(pt1);
                    lstSapXep.Add(pt1);
                }
            }
        }



        #endregion
    }
    void CreateLevel(float positionX, PhepToan vio, int thutu)
    {
        SpItemMonkey levelCreate = spPrefab.Spawn <SpItemMonkey>
                                   (
            new Vector3(positionX, startY, 70f),
            spPrefab.transform.rotation
                                   );

        levelCreate.Giatri   = vio.Ketqua;
        levelCreate.Pheptoan = "" + vio.Congthuc;
        levelCreate.setData(vio.Loai);
        levelCreate.Trangthai = true;
        levelCreate.Vitri     = thutu;



        sp = levelCreate.GetComponent <tk2dUIItem>();


        switch (thutu)
        {
        case 1:
            bt1         = levelCreate;
            sp.OnClick += onClick_sp1;
            break;

        case 2:
            bt2         = levelCreate;
            sp.OnClick += onClick_sp2;
            break;

        case 3:
            bt3         = levelCreate;
            sp.OnClick += onClick_sp3;
            break;

        case 4:
            bt4         = levelCreate;
            sp.OnClick += onClick_sp4;
            break;

        case 5:
            bt5         = levelCreate;
            sp.OnClick += onClick_sp5;
            break;

        case 6:
            bt6         = levelCreate;
            sp.OnClick += onClick_sp6;
            break;

        case 7:
            bt7         = levelCreate;
            sp.OnClick += onClick_sp7;
            break;

        case 8:
            bt8         = levelCreate;
            sp.OnClick += onClick_sp8;
            break;

        case 9:
            bt9         = levelCreate;
            sp.OnClick += onClick_sp9;
            break;

        case 10:
            bt10        = levelCreate;
            sp.OnClick += onClick_sp10;
            break;

        case 11:
            bt11        = levelCreate;
            sp.OnClick += onClick_sp11;
            break;

        case 12:
            bt12        = levelCreate;
            sp.OnClick += onClick_sp12;
            break;

        case 13:
            bt13        = levelCreate;
            sp.OnClick += onClick_sp13;
            break;

        case 14:
            bt14        = levelCreate;
            sp.OnClick += onClick_sp14;
            break;

        case 15:
            bt15        = levelCreate;
            sp.OnClick += onClick_sp15;
            break;

        case 16:
            bt16        = levelCreate;
            sp.OnClick += onClick_sp16;
            break;

        case 17:
            bt17        = levelCreate;
            sp.OnClick += onClick_sp17;
            break;

        case 18:
            bt18        = levelCreate;
            sp.OnClick += onClick_sp18;
            break;

        case 19:
            bt19        = levelCreate;
            sp.OnClick += onClick_sp19;
            break;

        case 20:
            bt20        = levelCreate;
            sp.OnClick += onClick_sp20;
            break;

        default:
            Debug.Log("Default case");
            break;
        }
        levelCreate.transform.parent = respawn.transform;
    }
    void chonData(ref List <PhepToan> tmg1, ref List <PhepToan> tmg2, List <PhepToan> lstRank, int loai)
    {
        if (loai == 1)
        {
            while (tmg1.Count < 8)
            {
                int  chon = UnityEngine.Random.Range(0, lstRank.Count);
                bool ok   = false;
                for (int i = 0; i < tmg1.Count; i++)
                {
                    if (lstRank[chon].Ketqua == tmg1[i].Ketqua)
                    {
                        ok = true;
                        break;
                    }
                }
                if (ok == false)
                {
                    PhepToan pt1;
                    if (lstRank[chon].Ketqua % 3 == 0)
                    {
                        pt1 = new PhepToan(ClsLanguage.doNumber() + lstRank[chon].Ketqua, lstRank[chon].Ketqua, "number");
                    }
                    else
                    {
                        pt1 = new PhepToan("" + lstRank[chon].Ketqua, lstRank[chon].Ketqua, "number");
                    }
                    PhepToan pt2 = new PhepToan("" + lstRank[chon].Congthuc, lstRank[chon].Ketqua, "number");

                    if (lstRank[chon].Ketqua % 2 == 0)
                    {
                        tmg1.Add(pt1);
                        tmg2.Add(pt2);
                    }
                    else
                    {
                        tmg1.Add(pt2);
                        tmg2.Add(pt1);
                    }
                }
            }

            PhepToan pt    = new PhepToan("" + ClsLanguage.doHinhTron(), -1, "number");
            PhepToan pta   = new PhepToan("", -1, "monkeyhinhtron");
            int      chons = UnityEngine.Random.Range(0, 3);
            if (chons == 0)
            {
                tmg1.Add(pt);
                tmg2.Add(pta);
            }
            else
            {
                tmg1.Add(pta);
                tmg2.Add(pt);
            }

            PhepToan pt11  = new PhepToan("" + ClsLanguage.doHinhChuNhat(), -4, "number");
            PhepToan pta1  = new PhepToan("", -4, "monkeyhinhchunhat");
            int      chonk = UnityEngine.Random.Range(0, 3);
            if (chonk == 0)
            {
                tmg1.Add(pt11);
                tmg2.Add(pta1);
            }
            else
            {
                tmg1.Add(pta1);
                tmg2.Add(pt11);
            }
        }
        else if (loai == 2)
        {
            while (tmg1.Count < 8)
            {
                int  chon = UnityEngine.Random.Range(0, lstRank.Count);
                bool ok   = false;
                for (int i = 0; i < tmg1.Count; i++)
                {
                    if (lstRank[chon].Ketqua == tmg1[i].Ketqua)
                    {
                        ok = true;
                        break;
                    }
                }
                if (ok == false)
                {
                    PhepToan pt1;
                    if (lstRank[chon].Ketqua % 4 == 0)
                    {
                        pt1 = new PhepToan(ClsLanguage.doNumber() + lstRank[chon].Ketqua, lstRank[chon].Ketqua, "number");
                    }
                    else if (lstRank[chon].Ketqua % 3 == 0)
                    {
                        int nh = UnityEngine.Random.Range(0, 3);
                        if (nh == 0)
                        {
                            if (lstRank[chon].Ketqua > 1)
                            {
                                pt1 = new PhepToan(ClsLanguage.doSoLienSau() + (lstRank[chon].Ketqua - 1), lstRank[chon].Ketqua, "number");
                            }
                            else
                            {
                                pt1 = new PhepToan(ClsLanguage.doSoLienTruoc() + (lstRank[chon].Ketqua + 1), lstRank[chon].Ketqua, "number");
                            }
                        }
                        else
                        {
                            pt1 = new PhepToan(ClsLanguage.doSoLienTruoc() + (lstRank[chon].Ketqua + 1), lstRank[chon].Ketqua, "number");
                        }
                    }
                    else
                    {
                        int chon1 = UnityEngine.Random.Range(0, 2);
                        if (chon1 == 0)
                        {
                            pt1 = new PhepToan("" + lstRank[chon].Ketqua, lstRank[chon].Ketqua, "number");
                        }
                        else
                        {
                            pt1 = ClsThaoTac.getPhepToan(lstRank[chon], lstRank);
                        }
                    }
                    PhepToan pt2 = new PhepToan("" + lstRank[chon].Congthuc, lstRank[chon].Ketqua, "number");
                    if (chon % 2 == 0)
                    {
                        tmg1.Add(pt1);
                        tmg2.Add(pt2);
                    }
                    else
                    {
                        tmg1.Add(pt2);
                        tmg2.Add(pt1);
                    }
                }
            }

            PhepToan pt    = new PhepToan("" + ClsLanguage.doHinhVuong(), -3, "number");
            PhepToan pta   = new PhepToan("", -3, "monkeyhinhvuong");
            int      chons = UnityEngine.Random.Range(0, 3);
            if (chons == 0)
            {
                tmg1.Add(pt);
                tmg2.Add(pta);
            }
            else
            {
                tmg1.Add(pta);
                tmg2.Add(pt);
            }


            PhepToan pt11  = new PhepToan("" + ClsLanguage.doHinhChuNhat(), -4, "number");
            PhepToan pta1  = new PhepToan("", -4, "monkeyhinhchunhat");
            int      chonk = UnityEngine.Random.Range(0, 3);
            if (chonk == 0)
            {
                tmg1.Add(pt11);
                tmg2.Add(pta1);
            }
            else
            {
                tmg1.Add(pta1);
                tmg2.Add(pt11);
            }
        }
        else if (loai == 3)
        {
            while (tmg1.Count < 8)
            {
                int  chon = UnityEngine.Random.Range(0, lstRank.Count);
                bool ok   = false;
                for (int i = 0; i < tmg1.Count; i++)
                {
                    if (lstRank[chon].Ketqua == tmg1[i].Ketqua)
                    {
                        ok = true;
                        break;
                    }
                }
                if (ok == false)
                {
                    PhepToan pt1;
                    if (lstRank[chon].Ketqua % 4 == 0)
                    {
                        pt1 = new PhepToan(ClsLanguage.doNumber() + lstRank[chon].Ketqua, lstRank[chon].Ketqua, "number");
                    }
                    else if (lstRank[chon].Ketqua % 3 == 0)
                    {
                        int nh = UnityEngine.Random.Range(0, 3);
                        if (nh == 0)
                        {
                            if (lstRank[chon].Ketqua > 1)
                            {
                                pt1 = new PhepToan(ClsLanguage.doSoLienSau() + (lstRank[chon].Ketqua - 1), lstRank[chon].Ketqua, "number");
                            }
                            else
                            {
                                pt1 = new PhepToan(ClsLanguage.doSoLienTruoc() + (lstRank[chon].Ketqua + 1), lstRank[chon].Ketqua, "number");
                            }
                        }
                        else
                        {
                            pt1 = new PhepToan(ClsLanguage.doSoLienTruoc() + (lstRank[chon].Ketqua + 1), lstRank[chon].Ketqua, "number");
                        }
                    }
                    else
                    {
                        pt1 = new PhepToan("" + lstRank[chon].Ketqua, lstRank[chon].Ketqua, "number");
                    }
                    PhepToan pt2 = new PhepToan("" + lstRank[chon].Congthuc, lstRank[chon].Ketqua, "number");
                    if (chon % 2 == 0)
                    {
                        tmg1.Add(pt1);
                        tmg2.Add(pt2);
                    }
                    else
                    {
                        tmg1.Add(pt2);
                        tmg2.Add(pt1);
                    }
                }
            }

            PhepToan pt    = new PhepToan("" + ClsLanguage.doHinhNguGiac(), -6, "number");
            PhepToan pta   = new PhepToan("", -6, "monkeyhinhngugiac");
            int      chons = UnityEngine.Random.Range(0, 3);
            if (chons == 0)
            {
                tmg1.Add(pt);
                tmg2.Add(pta);
            }
            else
            {
                tmg1.Add(pta);
                tmg2.Add(pt);
            }


            PhepToan pt11  = new PhepToan("" + ClsLanguage.doHinhLucGiac(), -7, "number");
            PhepToan pta1  = new PhepToan("", -7, "monkeyhinhlucgiac");
            int      chonk = UnityEngine.Random.Range(0, 3);
            if (chonk == 0)
            {
                tmg1.Add(pt11);
                tmg2.Add(pta1);
            }
            else
            {
                tmg1.Add(pta1);
                tmg2.Add(pt11);
            }
        }
        else if (loai == 4 || loai == 7 || loai == 8 || loai == 9 || loai == 10 || loai == 11 || loai == 12 || loai == 15 || loai == 16 || loai == 17 || loai == 18)
        {
            while (tmg1.Count < 10)
            {
                int  chon = UnityEngine.Random.Range(0, lstRank.Count);
                bool ok   = false;
                for (int i = 0; i < tmg1.Count; i++)
                {
                    if (lstRank[chon].Ketqua == tmg1[i].Ketqua)
                    {
                        ok = true;
                        break;
                    }
                }
                if (ok == false)
                {
                    PhepToan pt1;
                    if (lstRank[chon].Ketqua % 4 == 0)
                    {
                        pt1 = new PhepToan(ClsLanguage.doNumber() + lstRank[chon].Ketqua, lstRank[chon].Ketqua, "number");
                    }
                    else if (lstRank[chon].Ketqua % 3 == 0)
                    {
                        int nh = UnityEngine.Random.Range(0, 3);
                        if (nh == 0)
                        {
                            if (lstRank[chon].Ketqua > 1)
                            {
                                pt1 = new PhepToan(ClsLanguage.doSoLienSau() + (lstRank[chon].Ketqua - 1), lstRank[chon].Ketqua, "number");
                            }
                            else
                            {
                                pt1 = new PhepToan(ClsLanguage.doSoLienTruoc() + (lstRank[chon].Ketqua + 1), lstRank[chon].Ketqua, "number");
                            }
                        }
                        else
                        {
                            pt1 = new PhepToan(ClsLanguage.doSoLienTruoc() + (lstRank[chon].Ketqua + 1), lstRank[chon].Ketqua, "number");
                        }
                    }
                    else
                    {
                        int chon1 = UnityEngine.Random.Range(0, 2);
                        if (chon1 == 0)
                        {
                            pt1 = new PhepToan("" + lstRank[chon].Ketqua, lstRank[chon].Ketqua, "number");
                        }
                        else
                        {
                            pt1 = ClsThaoTac.getPhepToan(lstRank[chon], lstRank);
                        }
                    }
                    PhepToan pt2 = new PhepToan("" + lstRank[chon].Congthuc, lstRank[chon].Ketqua, "number");
                    if (chon % 2 == 0)
                    {
                        tmg1.Add(pt1);
                        tmg2.Add(pt2);
                    }
                    else
                    {
                        tmg1.Add(pt2);
                        tmg2.Add(pt1);
                    }
                }
            }
        }
        else if (loai == 5 || loai == 6 || loai == 13 || loai == 14)
        {
            while (tmg1.Count < 10)
            {
                int  chon = UnityEngine.Random.Range(0, lstRank.Count);
                bool ok   = false;
                for (int i = 0; i < tmg1.Count; i++)
                {
                    if (lstRank[chon].Ketqua == tmg1[i].Ketqua)
                    {
                        ok = true;
                        break;
                    }
                }
                if (ok == false)
                {
                    PhepToan pt1;
                    if (lstRank[chon].Ketqua % 4 == 0)
                    {
                        if (chon % 2 == 0)
                        {
                            pt1 = new PhepToan("" + lstRank[chon].Ketqua, lstRank[chon].Ketqua, "number");
                        }
                        else
                        {
                            pt1 = new PhepToan(ClsLanguage.doNumber() + lstRank[chon].Ketqua, lstRank[chon].Ketqua, "number");
                        }
                    }
                    else if (lstRank[chon].Ketqua % 3 == 0)
                    {
                        int nh = UnityEngine.Random.Range(0, 3);
                        if (nh == 0)
                        {
                            if (lstRank[chon].Ketqua > 1)
                            {
                                pt1 = new PhepToan(ClsLanguage.doSoLienSau() + (lstRank[chon].Ketqua - 1), lstRank[chon].Ketqua, "number");
                            }
                            else
                            {
                                pt1 = new PhepToan(ClsLanguage.doSoLienTruoc() + (lstRank[chon].Ketqua + 1), lstRank[chon].Ketqua, "number");
                            }
                        }
                        else
                        {
                            pt1 = new PhepToan(ClsLanguage.doSoLienTruoc() + (lstRank[chon].Ketqua + 1), lstRank[chon].Ketqua, "number");
                        }
                    }
                    else
                    {
                        pt1 = new PhepToan("" + lstRank[chon].Ketqua, lstRank[chon].Ketqua, "number");
                    }
                    PhepToan pt2;
                    if (chon % 2 == 0)
                    {
                        pt2 = new PhepToan("" + lstRank[chon].Congthuc, lstRank[chon].Ketqua, "number");
                    }
                    else
                    {
                        pt2 = ClsThaoTac.getCongThuc(lstRank[chon]);
                    }

                    if (chon % 2 == 0)
                    {
                        tmg1.Add(pt1);
                        tmg2.Add(pt2);
                    }
                    else
                    {
                        tmg1.Add(pt2);
                        tmg2.Add(pt1);
                    }
                }
            }
        }
        else if (loai == 19)
        {
            var bien = GameController.instance.lstCongTruHai.Concat(GameController.instance.lstCongTruBa).ToList();
            while (tmg1.Count < 10)
            {
                int  chon = UnityEngine.Random.Range(0, lstRank.Count);
                bool ok   = false;
                for (int i = 0; i < tmg1.Count; i++)
                {
                    if (lstRank[chon].Ketqua == tmg1[i].Ketqua)
                    {
                        ok = true;
                        break;
                    }
                }
                if (ok == false)
                {
                    PhepToan pt1 = new PhepToan("" + lstRank[chon].Congthuc, lstRank[chon].Ketqua, "number");
                    PhepToan pt2 = ClsThaoTac.getPhepToan(lstRank[chon], bien);
                    if (chon % 2 == 0)
                    {
                        tmg1.Add(pt1);
                        tmg2.Add(pt2);
                    }
                    else
                    {
                        tmg1.Add(pt2);
                        tmg2.Add(pt1);
                    }
                }
            }
        }
        else if (loai == 20)
        {
            var bien = GameController.instance.lstNhanCong23.Concat(GameController.instance.lstNhanCong45).Concat(GameController.instance.lstNhanTru23).Concat(GameController.instance.lstNhanTru45).Concat(GameController.instance.lstTruNhan23).Concat(GameController.instance.lstTruNhan45).ToList();
            while (tmg1.Count < 10)
            {
                int  chon = UnityEngine.Random.Range(0, lstRank.Count);
                bool ok   = false;
                for (int i = 0; i < tmg1.Count; i++)
                {
                    if (lstRank[chon].Ketqua == tmg1[i].Ketqua)
                    {
                        ok = true;
                        break;
                    }
                }
                if (ok == false)
                {
                    PhepToan pt1 = new PhepToan("" + lstRank[chon].Congthuc, lstRank[chon].Ketqua, "number");
                    PhepToan pt2 = ClsThaoTac.getPhepToan(lstRank[chon], bien);
                    if (chon % 2 == 0)
                    {
                        tmg1.Add(pt1);
                        tmg2.Add(pt2);
                    }
                    else
                    {
                        tmg1.Add(pt2);
                        tmg2.Add(pt1);
                    }
                }
            }
        }
    }
    void chonData(int GT, int type, ref List <PhepToan> tmg1, List <PhepToan> lstRank)
    {
        string loai     = "";
        string nameType = "";

        if (type == 1)
        {
            for (int i = GT - 5; i < GT; i++)
            {
                PhepToan vo;
                PhepToan vi;

                int chon1 = UnityEngine.Random.Range(0, 2);
                if (chon1 == 0 && i <= 10)
                {
                    int chontmg = UnityEngine.Random.Range(0, 4);

                    if (chontmg == 0)
                    {
                        loai     = "meo";
                        nameType = ClsLanguage.doConMeo();
                    }
                    else if (chontmg == 1)
                    {
                        loai     = "hoa";
                        nameType = ClsLanguage.doBongHoa();
                    }
                    else
                    {
                        loai     = "tao";
                        nameType = ClsLanguage.doQuaTao();
                    }
                    loai = loai + "" + i;
                    vo   = new PhepToan("" + i, "" + i, loai);
                    vi   = new PhepToan("" + i + " " + nameType, "" + i, "number");
                    tmg1.Add(vo);
                    tmg1.Add(vi);
                }
                else
                {
                    PhepToan        vos;
                    PhepToan        vis;
                    List <PhepToan> query1 = lstRank.FindAll(r => int.Parse(r.Ketqua) == i);
                    if (query1.Count > 0)
                    {
                        int vt = UnityEngine.Random.Range(0, query1.Count);
                        vos = new PhepToan("" + query1[vt].Congthuc, "" + i, "number");
                        vis = new PhepToan("" + i, "" + i, "number");
                    }
                    else
                    {
                        //xem xet
                        vos = new PhepToan(ClsLanguage.doNumber() + i, "" + i, "number");
                        vis = new PhepToan("" + i, "" + i, "number");
                    }
                    tmg1.Add(vos);
                    tmg1.Add(vis);
                }
            }
            int gtTam;

            int chon2 = UnityEngine.Random.Range(0, 4);
            if (chon2 == 0)
            {
                loai     = "hinhtron";
                nameType = ClsLanguage.doHinhTron();
                gtTam    = -1;
            }
            else if (chon2 == 1)
            {
                loai     = "hinhtamgiac";
                nameType = ClsLanguage.doHinhTamGiac();
                gtTam    = -2;
            }
            else
            {
                loai     = "hinhvuong";
                nameType = ClsLanguage.doHinhVuong();
                gtTam    = -3;
            }

            PhepToan voh = new PhepToan("", "" + gtTam, loai);
            PhepToan vih = new PhepToan("" + nameType, "" + gtTam, "number");
            tmg1.Add(voh);
            tmg1.Add(vih);
        }
        else
        {
            PhepToan vo;
            PhepToan vi;

            for (int i = GT - 5; i <= GT; i++)
            {
                int chon1 = UnityEngine.Random.Range(0, 5);
                if (type == 2)
                {
                    if ((chon1 == 0 || chon1 == 2) && (i <= 10))
                    {
                        int chontmg = UnityEngine.Random.Range(0, 4);

                        if (chontmg == 0)
                        {
                            loai     = "meo";
                            nameType = ClsLanguage.doConMeo();
                        }
                        else if (chontmg == 1)
                        {
                            loai     = "hoa";
                            nameType = ClsLanguage.doBongHoa();
                        }
                        else
                        {
                            loai     = "tao";
                            nameType = ClsLanguage.doQuaTao();
                        }
                        loai = loai + "" + i;
                        vo   = new PhepToan("" + i, "" + i, loai);
                        vi   = new PhepToan("" + i + " " + nameType, "" + i, "number");
                        tmg1.Add(vo);
                        tmg1.Add(vi);
                    }
                    else
                    {
                        List <PhepToan> query1 = lstRank.FindAll(r => int.Parse(r.Ketqua) == i);
                        if (query1.Count > 0)
                        {
                            int vt = UnityEngine.Random.Range(0, query1.Count);
                            vo = new PhepToan("" + query1[vt].Congthuc, "" + i, "number");
                            vi = new PhepToan("" + i, "" + i, "number");
                        }
                        else
                        {
                            //xem xet
                            vo = new PhepToan(ClsLanguage.doNumber() + i, "" + i, "number");
                            vi = new PhepToan("" + i, "" + i, "number");
                        }
                        tmg1.Add(vo);
                        tmg1.Add(vi);
                    }
                }
                else if (type == 3)
                {
                    List <PhepToan> query1 = lstRank.FindAll(r => int.Parse(r.Ketqua) == i);
                    if (query1.Count > 0)
                    {
                        int vt = UnityEngine.Random.Range(0, query1.Count);
                        vo = new PhepToan("" + query1[vt].Congthuc, "" + i, "number");
                        vi = new PhepToan("" + i, "" + i, "number");
                    }
                    else
                    {
                        //xem xet
                        vo = new PhepToan(ClsLanguage.doNumber() + i, "" + i, "number");
                        vi = new PhepToan("" + i, "" + i, "number");
                    }
                    tmg1.Add(vo);
                    tmg1.Add(vi);
                }
                else if (type == 4)
                {
                    if (chon1 == 0)
                    {
                        List <PhepToan> query1 = lstRank.FindAll(r => int.Parse(r.Ketqua) == i);
                        if (query1.Count > 0)
                        {
                            int vt = UnityEngine.Random.Range(0, query1.Count);
                            if (query1.Count != 1)
                            {
                                int vt2 = UnityEngine.Random.Range(0, query1.Count);

                                vo = new PhepToan("" + query1[vt].Congthuc, "" + i, "number");
                                vi = new PhepToan("" + query1[vt2].Congthuc, "" + i, "number");
                            }
                            else
                            {
                                vo = new PhepToan("" + query1[vt].Congthuc, "" + i, "number");
                                vi = new PhepToan("" + i, "" + i, "number");
                            }
                        }
                        else
                        {
                            //xem xet
                            vo = new PhepToan(ClsLanguage.doNumber() + i, "" + i, "number");
                            vi = new PhepToan("" + i, "" + i, "number");
                        }
                        tmg1.Add(vo);
                        tmg1.Add(vi);
                    }
                    else
                    {
                        List <PhepToan> query1 = lstRank.FindAll(r => int.Parse(r.Ketqua) == i);
                        if (query1.Count > 0)
                        {
                            int vt = UnityEngine.Random.Range(0, query1.Count);
                            vo = new PhepToan("" + query1[vt].Congthuc, "" + i, "number");
                            vi = new PhepToan("" + i, "" + i, "number");
                        }
                        else
                        {
                            //xem xet
                            vo = new PhepToan(ClsLanguage.doNumber() + i, "" + i, "number");
                            vi = new PhepToan("" + i, "" + i, "number");
                        }
                        tmg1.Add(vo);
                        tmg1.Add(vi);
                    }
                }
                else if (type == 5)
                {
                    List <PhepToan> query1 = lstRank.FindAll(r => int.Parse(r.Ketqua) == i);
                    if (query1.Count > 0)
                    {
                        int vt = UnityEngine.Random.Range(0, query1.Count);
                        if (query1.Count != 1)
                        {
                            int vt2 = UnityEngine.Random.Range(0, query1.Count);

                            vo = new PhepToan("" + query1[vt].Congthuc, "" + i, "number");
                            vi = new PhepToan("" + query1[vt2].Congthuc, "" + i, "number");
                        }
                        else
                        {
                            vo = new PhepToan("" + query1[vt].Congthuc, "" + i, "number");
                            vi = new PhepToan("" + i, "" + i, "number");
                        }
                    }
                    else
                    {
                        //xem xet
                        vo = new PhepToan(ClsLanguage.doNumber() + i, "" + i, "number");
                        vi = new PhepToan("" + i, "" + i, "number");
                    }
                    tmg1.Add(vo);
                    tmg1.Add(vi);
                }
                else if (type == 6 || type == 7)
                {
                    if (chon1 == 0)
                    {
                        List <PhepToan> query1 = lstRank.FindAll(r => int.Parse(r.Ketqua) == i);
                        if (query1.Count > 0)
                        {
                            int vt = UnityEngine.Random.Range(0, query1.Count);
                            vo = new PhepToan("" + query1[vt].Congthuc, "" + i, "number");
                            vi = new PhepToan("" + i, "" + i, "number");
                        }
                        else
                        {
                            //xem xet
                            vo = new PhepToan(ClsLanguage.doNumber() + i, "" + i, "number");
                            vi = new PhepToan("" + i, "" + i, "number");
                        }
                        tmg1.Add(vo);
                        tmg1.Add(vi);
                    }
                    else if (chon1 == 1)
                    {
                        List <PhepToan> query1 = lstRank.FindAll(r => int.Parse(r.Ketqua) == i);
                        if (query1.Count > 0)
                        {
                            int vt = UnityEngine.Random.Range(0, query1.Count);
                            if (query1.Count != 1)
                            {
                                int vt2 = UnityEngine.Random.Range(0, query1.Count);

                                vo = new PhepToan("" + query1[vt].Congthuc, "" + i, "number");
                                vi = new PhepToan("" + query1[vt2].Congthuc, "" + i, "number");
                            }
                            else
                            {
                                vo = new PhepToan("" + query1[vt].Congthuc, "" + i, "number");
                                vi = new PhepToan("" + i, "" + i, "number");
                            }
                        }
                        else
                        {
                            //xem xet
                            vo = new PhepToan(ClsLanguage.doNumber() + i, "" + i, "number");
                            vi = new PhepToan("" + i, "" + i, "number");
                        }
                        tmg1.Add(vo);
                        tmg1.Add(vi);
                    }
                    else if (chon1 == 2 || chon1 == 3)
                    {
                        if (chon1 == 2)
                        {
                            if (i > 1)
                            {
                                vo = new PhepToan(ClsLanguage.doSoLienTruoc() + (i + 1), "" + i, "number");
                                vi = new PhepToan("" + i, "" + i, "number");
                            }
                            else
                            {
                                vo = new PhepToan(ClsLanguage.doSoLienSau() + (i - 1), "" + i, "number");
                                vi = new PhepToan("" + i, "" + i, "number");
                            }
                        }
                        else
                        {
                            vo = new PhepToan(ClsLanguage.doSoLienSau() + (i - 1), "" + i, "number");
                            vi = new PhepToan("" + i, "" + i, "number");
                        }
                        tmg1.Add(vo);
                        tmg1.Add(vi);
                    }
                    else
                    {
                        if (type == 7)
                        {
                            List <PhepToan> query1 = lstRank.FindAll(r => int.Parse(r.Ketqua) == i);
                            if (query1.Count > 0)
                            {
                                int vt = UnityEngine.Random.Range(0, query1.Count);



                                string trs = "";
                                if (vt % 2 == 0)
                                {
                                    if (i > 1)
                                    {
                                        trs = ClsLanguage.doSoLienTruoc() + (i + 1);
                                    }
                                    else
                                    {
                                        trs = ClsLanguage.doSoLienSau() + (i - 1);
                                    }
                                }
                                else
                                {
                                    trs = ClsLanguage.doSoLienSau() + (i - 1);
                                }

                                vo = new PhepToan("" + trs, "" + i, "number");
                                vi = new PhepToan("" + query1[vt].Congthuc, "" + i, "number");
                            }
                            else
                            {
                                //xem xet
                                vo = new PhepToan(ClsLanguage.doNumber() + i, "" + i, "number");
                                vi = new PhepToan("" + i, "" + i, "number");
                            }
                        }
                        else
                        {
                            vo = new PhepToan(ClsLanguage.doSoLienSau() + (i - 1), "" + i, "number");
                            vi = new PhepToan("" + i, "" + i, "number");
                        }
                        tmg1.Add(vo);
                        tmg1.Add(vi);
                    }
                }
            }
        }
    }
    void chonData(int GT, int sl, int type, ref List <PhepToan> tmg1, ref List <PhepToan> tmg2, List <PhepToan> lstRank)
    {
        string loai = "number";

        for (int i = GT - (sl - 1); i <= GT; i++)
        {
            //phep toan , so
            PhepToan vo;
            int      chon = UnityEngine.Random.Range(0, 4);
            if ((chon == 0) && (type == 2 || type == 3 || type == 6))
            {
                loai = "number";
                vo   = new PhepToan("" + i, "" + i, loai);
            }
            else if ((chon == 1) && (type == 3 || type == 4) && (i < 10))
            {
                int tn = UnityEngine.Random.Range(0, 3);
                if (tn == 0)
                {
                    loai = "tao";
                }
                else if (tn == 1)
                {
                    loai = "hoa";
                }
                else
                {
                    loai = "meo";
                }
                loai = loai + "" + i;

                if (i > 10)
                {
                    loai = "number";
                }

                vo = new PhepToan("" + i, "" + i, loai);
            }
            else if ((chon == 2) && (type == 5 || type == 6))
            {
                loai = "number";
                if (i > 1)
                {
                    vo = new PhepToan(ClsLanguage.doSoLienTruoc() + (i + 1), "" + i, loai);
                }
                else
                {
                    vo = new PhepToan(ClsLanguage.doSoLienSau() + (i - 1), "" + i, loai);
                }
            }
            else if (chon == 2 && type == 2)
            {
                vo = new PhepToan("" + i, "" + i, loai);
            }
            else
            {
                loai = "number";
                List <PhepToan> query1 = lstRank.FindAll(r => int.Parse(r.Ketqua) == i);
                if (query1.Count > 0)
                {
                    int vt = UnityEngine.Random.Range(0, query1.Count);
                    vo = new PhepToan("" + query1[vt].Congthuc, "" + i, loai);
                }
                else
                {
                    vo = new PhepToan("" + i, "" + i, loai);
                }
            }

            tmg1.Add(vo);
            tmg2.Add(vo);
        }
    }
    void GetDaTaBang(string tmg)
    {
        string[] mang = tmg.Trim().Split('*');
        //Debug.Log("KK:"+mang[mang.Length-2]);


        for (int i = 0; i < mang.Length - 1; i++)
        {
            string[] items = mang[i].Split(',');
            int      rank  = int.Parse(items[2]);
            PhepToan pt    = new PhepToan(items[0], int.Parse(items[1]), items[2]);
            if (rank == 51 || rank == 52)
            {
                lstCongTruHai.Add(pt);
            }
            else if (rank == 53 || rank == 54 || rank == 55 || rank == 56)
            {
                lstCongTruBa.Add(pt);
            }
            else if (rank == 57 || rank == 58)
            {
                lstNhanHaiBa.Add(pt);
            }
            else if (rank == 59 || rank == 60)
            {
                lstNhanBonNam.Add(pt);
            }
            else if (rank == 61 || rank == 62)
            {
                lstNhanCong23.Add(pt);
            }
            else if (rank == 63 || rank == 64)
            {
                lstNhanCong45.Add(pt);
            }
            else if (rank == 65 || rank == 66)
            {
                lstNhanTru23.Add(pt);
            }
            else if (rank == 67 || rank == 68)
            {
                lstNhanTru45.Add(pt);
            }
            else if (rank == 69 || rank == 70)
            {
                lstTruNhan23.Add(pt);
            }
            else if (rank == 71 || rank == 72)
            {
                lstTruNhan45.Add(pt);
            }
            else if (rank == 73 || rank == 74)
            {
                lstChia23.Add(pt);
            }
            else if (rank == 75 || rank == 76)
            {
                lstChia45.Add(pt);
            }
            else if (rank == 77 || rank == 78)
            {
                lstCongChia23.Add(pt);
            }
            else if (rank == 79 || rank == 80)
            {
                lstCongChia45.Add(pt);
            }
            else if (rank == 81 || rank == 82)
            {
                lstTruChia23.Add(pt);
            }
            else if (rank == 83 || rank == 84)
            {
                lstTruChia45.Add(pt);
            }
        }


        // Debug.Log("1:" + lst1.Count + "2:" + lst2.Count + "3:" + lst3.Count + "4:" + lst4.Count + "5:" + lst5.Count + "6:" + lst6.Count);
    }
Beispiel #23
0
    void CreateLevel(float positionX, float positionY, PhepToan vio, int thutu)
    {
        SpItem levelCreate = spPrefab.Spawn <SpItem>
                             (
            new Vector3(positionX, positionY, 71),
            spPrefab.transform.rotation
                             );

        levelCreate.gameObject.GetComponent <tk2dSprite>().scale = new Vector3(2.4f, 2.4f, 1);
        levelCreate.Giatri   = ClsThaoTac.doKetQua(vio.Ketqua);
        levelCreate.Pheptoan = "" + vio.Congthuc;
        levelCreate.setData(vio.Loai);
        levelCreate.Trangthai = true;
        //levelCreate.Vitri = thutu;



        sp = levelCreate.GetComponent <tk2dUIItem>();

        switch (thutu)
        {
        case 1:
            bt1         = levelCreate;
            sp.OnClick += onClick_sp1;
            break;

        case 2:
            bt2         = levelCreate;
            sp.OnClick += onClick_sp2;
            break;

        case 3:
            bt3         = levelCreate;
            sp.OnClick += onClick_sp3;
            break;

        case 4:
            bt4         = levelCreate;
            sp.OnClick += onClick_sp4;
            break;

        case 5:
            bt5         = levelCreate;
            sp.OnClick += onClick_sp5;
            break;

        case 6:
            bt6         = levelCreate;
            sp.OnClick += onClick_sp6;
            break;

        case 7:
            bt7         = levelCreate;
            sp.OnClick += onClick_sp7;
            break;

        case 8:
            bt8         = levelCreate;
            sp.OnClick += onClick_sp8;
            break;

        case 9:
            bt9         = levelCreate;
            sp.OnClick += onClick_sp9;
            break;

        case 10:
            bt10        = levelCreate;
            sp.OnClick += onClick_sp10;
            break;

        case 11:
            bt11        = levelCreate;
            sp.OnClick += onClick_sp11;
            break;

        case 12:
            bt12        = levelCreate;
            sp.OnClick += onClick_sp12;
            break;

        case 13:
            bt13        = levelCreate;
            sp.OnClick += onClick_sp13;
            break;

        case 14:
            bt14        = levelCreate;
            sp.OnClick += onClick_sp14;
            break;

        case 15:
            bt15        = levelCreate;
            sp.OnClick += onClick_sp15;
            break;

        case 16:
            bt16        = levelCreate;
            sp.OnClick += onClick_sp16;
            break;

        case 17:
            bt17        = levelCreate;
            sp.OnClick += onClick_sp17;
            break;

        case 18:
            bt18        = levelCreate;
            sp.OnClick += onClick_sp18;
            break;

        case 19:
            bt19        = levelCreate;
            sp.OnClick += onClick_sp19;
            break;

        case 20:
            bt20        = levelCreate;
            sp.OnClick += onClick_sp20;
            break;

        default:
            Debug.Log("Default case");
            break;
        }

        levelCreate.transform.parent = this.gameObject.transform;
    }
Beispiel #24
0
    void chonData5(ref List <PhepToan> tmg1, List <PhepToan> lstTam, int loai)
    {
        #region Singleton
        List <PhepToan> lstRank = new List <PhepToan>();
        foreach (PhepToan item in lstTam)
        {
            if (item.Loai.Equals("" + loai))
            {
                lstRank.Add(item);
            }
        }


        if (loai == 5)
        {
            while (tmg1.Count < 20)
            {
                int  chon = UnityEngine.Random.Range(0, lstRank.Count);
                bool ok   = false;
                for (int i = 0; i < tmg1.Count; i++)
                {
                    if (lstRank[chon].Ketqua == tmg1[i].Ketqua)
                    {
                        ok = true;
                        break;
                    }
                }
                if (ok == false)
                {
                    PhepToan pt1;
                    if (chon % 2 == 0)
                    {
                        pt1 = new PhepToan("" + lstRank[chon].Congthuc, lstRank[chon].Ketqua, "number");
                    }
                    else
                    {
                        double kqn  = double.Parse(lstRank[chon].Ketqua);
                        int    gtrd = UnityEngine.Random.Range(0, 8);
                        string stKq = "";
                        switch (gtrd)
                        {
                        case 0:
                            stKq = kqn + " mm";
                            break;

                        case 1:
                            stKq = (kqn / 10) + " cm";
                            break;

                        case 2:
                            stKq = (kqn / 100) + " dm";
                            break;

                        case 3:
                            stKq = (kqn / 1000000) + " km";
                            break;

                        case 4:
                            stKq = (kqn / 10000) + " dam";
                            break;

                        case 5:
                            stKq = (kqn / 100000) + " hm";
                            break;

                        default:
                            stKq = (kqn / 1000) + " m";
                            break;
                        }
                        pt1 = new PhepToan(stKq, lstRank[chon].Ketqua, "number");
                    }
                    tmg1.Add(pt1);
                    lstSapXep.Add(pt1);
                }
            }
        }
        else
        {
            while (tmg1.Count < 20)
            {
                int  chon = UnityEngine.Random.Range(0, lstRank.Count);
                bool ok   = false;
                for (int i = 0; i < tmg1.Count; i++)
                {
                    if (ClsThaoTac.doKetQua(lstRank[chon].Ketqua) == ClsThaoTac.doKetQua(tmg1[i].Ketqua))
                    {
                        ok = true;
                        break;
                    }
                }
                if (ok == false)
                {
                    PhepToan pt1;
                    PhepToan ptTm;
                    if (chon % 2 == 0)
                    {
                        if (lstRank[chon].Ketqua.Contains("/"))
                        {
                            pt1  = new PhepToan("" + lstRank[chon].Ketqua, lstRank[chon].Ketqua, "phanso");
                            ptTm = new PhepToan("" + lstRank[chon].Ketqua, "" + ClsThaoTac.doKetQua(lstRank[chon].Ketqua), "phanso");
                        }
                        else
                        {
                            pt1  = new PhepToan("" + lstRank[chon].Ketqua, lstRank[chon].Ketqua, "number");
                            ptTm = new PhepToan("" + lstRank[chon].Ketqua, "" + ClsThaoTac.doKetQua(lstRank[chon].Ketqua), "number");
                        }
                    }
                    else
                    {
                        string tambo  = "" + lstRank[chon].Congthuc;
                        string tambo2 = "" + lstRank[chon].Congthuc;
                        if (tambo.Contains("c"))
                        {
                            string[] mang = tambo.Split('c');
                            if (mang[0].Contains("/") && mang[1].Contains("/"))
                            {
                                tambo = "phanhai";
                            }
                            else if (mang[0].Contains("/"))
                            {
                                tambo = "phantrai";
                            }
                            else if (mang[1].Contains("/"))
                            {
                                tambo = "phanphai";
                            }
                            else
                            {
                                tambo  = "number";
                                tambo2 = mang[0] + ClsLanguage.doOf() + mang[1];
                            }
                        }
                        else if (tambo.Contains("]"))
                        {
                            if (tambo.Contains("+") || tambo.Contains("-") || tambo.Contains("x") || tambo.Contains(":"))
                            {
                                tambo = "mixhai";
                            }
                            else
                            {
                                tambo = "mix";
                            }
                        }
                        else if (tambo.Contains("/"))
                        {
                            if (tambo.Contains("+") || tambo.Contains("-") || tambo.Contains("x") || tambo.Contains(":"))
                            {
                                string[] mang = tambo.Split(new Char[] { '-', '+', 'x', ':' });
                                if (mang.Length >= 3)
                                {
                                    int dem = 0;
                                    for (int i = 0; i < tambo.Count(); i++)
                                    {
                                        string dkm = "" + tambo[i];
                                        if (dkm.Equals("/"))
                                        {
                                            dem++;
                                        }
                                    }
                                    if (dem >= 2)
                                    {
                                        tambo = "phansoba";
                                    }
                                    else
                                    {
                                        tambo = "phanso";
                                    }
                                }
                                else
                                {
                                    if (mang[0].Contains("/") && mang[1].Contains("/"))
                                    {
                                        tambo = "phansohai";
                                    }
                                    else if (mang[0].Contains("/"))
                                    {
                                        tambo = "phansotrai";
                                    }
                                    else if (mang[1].Contains("/"))
                                    {
                                        tambo = "phansophai";
                                    }
                                    else
                                    {
                                        tambo = "phanso";
                                    }
                                }
                            }
                            else
                            {
                                tambo = "phanso";
                            }
                        }
                        else
                        {
                            tambo = "number";
                        }

                        pt1  = new PhepToan(tambo2, lstRank[chon].Ketqua, tambo);
                        ptTm = new PhepToan(tambo2, "" + ClsThaoTac.doKetQua(lstRank[chon].Ketqua), tambo);
                    }

                    tmg1.Add(pt1);
                    lstSapXep.Add(ptTm);
                }
            }
        }


        #endregion
    }
Beispiel #25
0
    void chonData4(ref List <PhepToan> tmg1, List <PhepToan> lstTam, int loai)
    {
        #region Singleton
        List <PhepToan> lstRank = new List <PhepToan>();
        foreach (PhepToan item in lstTam)
        {
            if (item.Loai.Equals("" + loai))
            {
                lstRank.Add(item);
            }
        }


        if (loai == 16 || loai == 17 || loai == 18)
        {
            while (tmg1.Count < 20)
            {
                int  chon = UnityEngine.Random.Range(0, lstRank.Count);
                bool ok   = false;
                for (int i = 0; i < tmg1.Count; i++)
                {
                    if (lstRank[chon].Ketqua == tmg1[i].Ketqua)
                    {
                        ok = true;
                        break;
                    }
                }
                if (ok == false)
                {
                    PhepToan pt1;
                    if (chon % 6 == 0)
                    {
                        pt1 = new PhepToan("" + lstRank[chon].Ketqua, lstRank[chon].Ketqua, "number");
                    }
                    else
                    {
                        pt1 = new PhepToan(lstRank[chon].Congthuc, lstRank[chon].Ketqua, "phantrai");
                    }

                    tmg1.Add(pt1);
                    lstSapXep.Add(pt1);
                }
            }
        }
        else if (loai == 15)
        {
            while (tmg1.Count < 20)
            {
                int  chon = UnityEngine.Random.Range(0, lstRank.Count);
                bool ok   = false;
                for (int i = 0; i < tmg1.Count; i++)
                {
                    if (lstRank[chon].Ketqua == tmg1[i].Ketqua)
                    {
                        ok = true;
                        break;
                    }
                }
                if (ok == false)
                {
                    PhepToan pt1 = new PhepToan("" + lstRank[chon].Congthuc, lstRank[chon].Ketqua, "phanso");
                    tmg1.Add(pt1);
                    PhepToan pt2 = new PhepToan("" + lstRank[chon].Congthuc, "" + ClsThaoTac.doKetQua(lstRank[chon].Ketqua), "number");
                    lstSapXep.Add(pt2);
                }
            }
        }
        else if (loai == 5)
        {
            while (tmg1.Count < 20)
            {
                int  chon = UnityEngine.Random.Range(0, lstRank.Count);
                bool ok   = false;
                for (int i = 0; i < tmg1.Count; i++)
                {
                    if (lstRank[chon].Ketqua == tmg1[i].Ketqua)
                    {
                        ok = true;
                        break;
                    }
                }
                if (ok == false)
                {
                    PhepToan pt1 = new PhepToan("" + lstRank[chon].Congthuc, lstRank[chon].Ketqua, "number");
                    tmg1.Add(pt1);
                    lstSapXep.Add(pt1);
                }
            }
        }
        else
        {
            lstRank = lstRank.OrderBy(p => double.Parse(p.Ketqua)).ToList();
            List <PhepToan> lstTG = ClsThaoTac.FakeData(int.Parse(lstRank[0].Ketqua), int.Parse(lstRank[lstRank.Count - 1].Ketqua), 15);
            foreach (PhepToan item in lstTG)
            {
                lstRank.Add(item);
            }

            while (tmg1.Count < 20)
            {
                int  chon = UnityEngine.Random.Range(0, lstRank.Count);
                bool ok   = false;
                for (int i = 0; i < tmg1.Count; i++)
                {
                    if (lstRank[chon].Ketqua == tmg1[i].Ketqua)
                    {
                        ok = true;
                        break;
                    }
                }
                if (ok == false)
                {
                    PhepToan pt1;
                    if (chon % 2 == 0)
                    {
                        pt1 = new PhepToan("" + lstRank[chon].Congthuc, lstRank[chon].Ketqua, "number");
                    }
                    else
                    {
                        pt1 = new PhepToan("" + lstRank[chon].Ketqua, lstRank[chon].Ketqua, "number");
                    }

                    tmg1.Add(pt1);
                    lstSapXep.Add(pt1);
                }
            }
        }


        #endregion
    }
    public void Create()
    {
        float           positionX = startX;
        float           positionY = startY;
        List <PhepToan> lstTMG    = new List <PhepToan>();

        int sl = 12;

        if (GameController.instance.level == 1 || GameController.instance.level == 2 || GameController.instance.level == 3)
        {
            string loai     = "";
            string nameType = "";


            for (int i = 1; i <= ((sl / 2) - 1); i++)
            {
                int chontmg = UnityEngine.Random.Range(0, 4);

                if (chontmg == 0)
                {
                    loai     = "meo";
                    nameType = ClsLanguage.doConMeo();
                }
                else if (chontmg == 1)
                {
                    loai     = "hoa";
                    nameType = ClsLanguage.doBongHoa();
                }
                else
                {
                    loai     = "tao";
                    nameType = ClsLanguage.doQuaTao();
                }

                loai = loai + "" + i;
                if (i > 10)
                {
                    loai = "number";
                }
                PhepToan vo = new PhepToan("" + i, "" + i, loai);
                PhepToan vi = new PhepToan("" + i + " " + nameType, "" + i, "number");
                lstTMG.Add(vo);
                lstTMG.Add(vi);
                // lstSapXep.Add(i);
            }

            if (GameController.instance.level == 1)
            {
                loai     = "hinhtron";
                nameType = ClsLanguage.doHinhTron();

                PhepToan vo = new PhepToan("", "" + (-1), loai);
                PhepToan vi = new PhepToan("" + nameType, "" + (-1), "number");
                lstTMG.Add(vo);
                lstTMG.Add(vi);
            }
            else if (GameController.instance.level == 2)
            {
                loai     = "hinhtamgiac";
                nameType = ClsLanguage.doHinhTamGiac();

                PhepToan vo = new PhepToan("", "" + (-2), loai);
                PhepToan vi = new PhepToan("" + nameType, "" + (-2), "number");
                lstTMG.Add(vo);
                lstTMG.Add(vi);
            }
            else
            {
                loai     = "hinhvuong";
                nameType = ClsLanguage.doHinhVuong();

                PhepToan vo = new PhepToan("", "" + (-3), loai);
                PhepToan vi = new PhepToan("" + nameType, "" + (-3), "number");
                lstTMG.Add(vo);
                lstTMG.Add(vi);
            }
        }
        else if (GameController.instance.level == 4 || GameController.instance.level == 5)
        {
            var query = GameController.instance.lstPhepToan1.Where(p => int.Parse(p.Loai) == 1).ToList();
            chonData(6, 2, ref lstTMG, query);
        }
        else if (GameController.instance.level == 6)
        {
            var query = GameController.instance.lstPhepToan1.Where(p => int.Parse(p.Loai) == 2).ToList();
            chonData(6, 5, ref lstTMG, query);
            // phep toan vs phep toan lst2
        }
        else if (GameController.instance.level == 7)
        {
            var query = GameController.instance.lstPhepToan1.Where(p => int.Parse(p.Loai) == 1).ToList();
            chonData(6, 6, ref lstTMG, query);
        }
        else if (GameController.instance.level == 8)
        {
            var query = GameController.instance.lstPhepToan1.Where(p => int.Parse(p.Loai) == 1).ToList();
            chonData(6, 7, ref lstTMG, query);
        }
        else if (GameController.instance.level == 9)
        {
            var query = GameController.instance.lstPhepToan1.Where(p => int.Parse(p.Loai) == 2).ToList();
            chonData(6, 1, ref lstTMG, query);
        }
        else if (GameController.instance.level == 10)
        {
            var query = GameController.instance.lstPhepToan1.Where(p => int.Parse(p.Loai) == 2).ToList();
            chonData(6, 7, ref lstTMG, query);
        }
        else if (GameController.instance.level == 11)
        {
            var query = GameController.instance.lstPhepToan1.Where(p => int.Parse(p.Loai) == 3).ToList();
            int GT    = 6;

            chonData(GT, 2, ref lstTMG, ClsThaoTac.ChuanHoaDaTa(GT, query, 1));
        }
        else if (GameController.instance.level == 12)
        {
            var query = GameController.instance.lstPhepToan1.Where(p => int.Parse(p.Loai) == 3).ToList();
            int GT    = 6;

            chonData(GT, 4, ref lstTMG, ClsThaoTac.ChuanHoaDaTa(GT, query, 1));
        }
        else if (GameController.instance.level == 13)
        {
            var query = GameController.instance.lstPhepToan1.Where(p => int.Parse(p.Loai) == 4).ToList();
            int GT    = 6;

            chonData(GT, 3, ref lstTMG, ClsThaoTac.ChuanHoaDaTa(GT, query, 1));
        }
        else if (GameController.instance.level == 14)
        {
            int GT    = 6;
            var query = GameController.instance.lstPhepToan1.Where(p => int.Parse(p.Loai) == 4).ToList();
            chonData(GT, 5, ref lstTMG, ClsThaoTac.ChuanHoaDaTa(GT, query, 1));
        }
        else if (GameController.instance.level == 15)
        {
            int GT    = 6;
            var query = GameController.instance.lstPhepToan1.Where(p => int.Parse(p.Loai) == 5).ToList();
            chonData(GT, 4, ref lstTMG, ClsThaoTac.ChuanHoaDaTa(GT, query, 1));
        }
        else if (GameController.instance.level == 16)
        {
            int GT    = 6;
            var query = GameController.instance.lstPhepToan1.Where(p => int.Parse(p.Loai) == 5).ToList();
            chonData(GT, 3, ref lstTMG, ClsThaoTac.ChuanHoaDaTa(GT, query, 1));
        }
        else if (GameController.instance.level == 17)
        {
            int GT    = 6;
            var query = GameController.instance.lstPhepToan1.Where(p => int.Parse(p.Loai) == 6).ToList();
            chonData(GT, 3, ref lstTMG, ClsThaoTac.ChuanHoaDaTa(GT, query, 1));
        }
        else if (GameController.instance.level == 18)
        {
            int GT    = 6;
            var query = GameController.instance.lstPhepToan1.Where(p => int.Parse(p.Loai) == 6).ToList();
            chonData(GT, 5, ref lstTMG, ClsThaoTac.ChuanHoaDaTa(GT, query, 1));
        }
        else if (GameController.instance.level == 19)
        {
            int GT = 6;

            chonData(GT, 4, ref lstTMG, GameController.instance.lstPhepToan1);
        }
        else if (GameController.instance.level == 20)
        {
            int GT = 6;

            chonData(GT, 5, ref lstTMG, GameController.instance.lstPhepToan1);
        }



        if (checkCreate)
        {
            int vt = 1;

            for (int i = 0; i < 12; i++)
            {
                doPhanPhat(ref lstTMG, ref vt, ref positionX, ref positionY);
            }

            checkCreate = false;
        }
        else
        {
            setDataLst(ref lstTMG);
        }



        currentState = State.InGame1;
        txtLoading.gameObject.SetActive(false);
    }
Beispiel #27
0
    void chonData(ref List <PhepToan> tmg1, List <PhepToan> lstRank, int loai)
    {
        #region Singleton
        if (loai == 4 || loai == 5 || loai == 19 || loai == 20)
        {
            //1 phep toan
            while (tmg1.Count < 20)
            {
                int  chon = UnityEngine.Random.Range(0, lstRank.Count);
                bool ok   = false;
                for (int i = 0; i < tmg1.Count; i++)
                {
                    if (lstRank[chon].Ketqua == tmg1[i].Ketqua)
                    {
                        ok = true;
                        break;
                    }
                }
                if (ok == false)
                {
                    PhepToan pt1;
                    if (lstRank[chon].Ketqua % 7 == 0)
                    {
                        pt1 = new PhepToan(ClsLanguage.doNumber() + lstRank[chon].Ketqua, lstRank[chon].Ketqua, "number");
                    }
                    else if (lstRank[chon].Ketqua % 4 == 0)
                    {
                        pt1 = new PhepToan("" + lstRank[chon].Ketqua, lstRank[chon].Ketqua, "number");
                    }
                    else
                    {
                        int nh = UnityEngine.Random.Range(0, 10);
                        if (nh == 0)
                        {
                            if (lstRank[chon].Ketqua > 1)
                            {
                                pt1 = new PhepToan(ClsLanguage.doSoLienSau() + (lstRank[chon].Ketqua - 1), lstRank[chon].Ketqua, "number");
                            }
                            else
                            {
                                pt1 = new PhepToan(ClsLanguage.doSoLienTruoc() + (lstRank[chon].Ketqua + 1), lstRank[chon].Ketqua, "number");
                            }
                        }
                        else if (nh == 1)
                        {
                            pt1 = new PhepToan(ClsLanguage.doSoLienTruoc() + (lstRank[chon].Ketqua + 1), lstRank[chon].Ketqua, "number");
                        }
                        else if (nh == 2)
                        {
                            pt1 = ClsThaoTac.getCongThuc(lstRank[chon]);
                        }
                        else
                        {
                            pt1 = new PhepToan("" + lstRank[chon].Congthuc, lstRank[chon].Ketqua, "number");
                        }
                    }

                    tmg1.Add(pt1);
                    lstSapXep.Add(pt1);
                }
            }
        }
        else if (loai == 6 || loai == 7 || loai == 9 || loai == 10 || loai == 11 || loai == 12 || loai == 13 || loai == 14 || loai == 17 || loai == 18)
        {
            //2 phep toan
            while (tmg1.Count < 20)
            {
                int  chon = UnityEngine.Random.Range(0, lstRank.Count);
                bool ok   = false;
                for (int i = 0; i < tmg1.Count; i++)
                {
                    if (lstRank[chon].Ketqua == tmg1[i].Ketqua)
                    {
                        ok = true;
                        break;
                    }
                }
                if (ok == false)
                {
                    PhepToan pt1;
                    if (lstRank[chon].Ketqua % 7 == 0)
                    {
                        pt1 = new PhepToan(ClsLanguage.doNumber() + lstRank[chon].Ketqua, lstRank[chon].Ketqua, "number");
                    }
                    else if (lstRank[chon].Ketqua % 4 == 0)
                    {
                        pt1 = new PhepToan("" + lstRank[chon].Ketqua, lstRank[chon].Ketqua, "number");
                    }
                    else
                    {
                        int nh = UnityEngine.Random.Range(0, 7);
                        if (nh == 0)
                        {
                            if (lstRank[chon].Ketqua > 1)
                            {
                                pt1 = new PhepToan(ClsLanguage.doSoLienSau() + (lstRank[chon].Ketqua - 1), lstRank[chon].Ketqua, "number");
                            }
                            else
                            {
                                pt1 = new PhepToan(ClsLanguage.doSoLienTruoc() + (lstRank[chon].Ketqua + 1), lstRank[chon].Ketqua, "number");
                            }
                        }
                        else if (nh == 1)
                        {
                            pt1 = new PhepToan(ClsLanguage.doSoLienTruoc() + (lstRank[chon].Ketqua + 1), lstRank[chon].Ketqua, "number");
                        }
                        else
                        {
                            pt1 = new PhepToan("" + lstRank[chon].Congthuc, lstRank[chon].Ketqua, "number");
                        }
                    }

                    tmg1.Add(pt1);
                    lstSapXep.Add(pt1);
                }
            }
        }
        else if (loai == 8 || loai == 15 || loai == 16)
        {
            //1 phep toan biet truopc number
            while (tmg1.Count < 20)
            {
                int  chon = UnityEngine.Random.Range(0, lstRank.Count);
                bool ok   = false;
                for (int i = 0; i < tmg1.Count; i++)
                {
                    if (lstRank[chon].Ketqua == tmg1[i].Ketqua)
                    {
                        ok = true;
                        break;
                    }
                }
                if (ok == false)
                {
                    PhepToan pt1;
                    if (lstRank[chon].Ketqua % 7 == 0 && lstRank[chon].Loai.Equals("number"))
                    {
                        pt1 = new PhepToan(ClsLanguage.doNumber() + lstRank[chon].Ketqua, lstRank[chon].Ketqua, "number");
                    }
                    else if (lstRank[chon].Ketqua % 4 == 0 && lstRank[chon].Loai.Equals("number"))
                    {
                        pt1 = new PhepToan("" + lstRank[chon].Ketqua, lstRank[chon].Ketqua, "number");
                    }
                    else
                    {
                        int nh = UnityEngine.Random.Range(0, 7);
                        if (nh == 0 && lstRank[chon].Loai.Equals("number"))
                        {
                            if (lstRank[chon].Ketqua > 1)
                            {
                                pt1 = new PhepToan(ClsLanguage.doSoLienSau() + (lstRank[chon].Ketqua - 1), lstRank[chon].Ketqua, "number");
                            }
                            else
                            {
                                pt1 = new PhepToan(ClsLanguage.doSoLienTruoc() + (lstRank[chon].Ketqua + 1), lstRank[chon].Ketqua, "number");
                            }
                        }
                        else if (nh == 1 && lstRank[chon].Loai.Equals("number"))
                        {
                            pt1 = new PhepToan(ClsLanguage.doSoLienTruoc() + (lstRank[chon].Ketqua + 1), lstRank[chon].Ketqua, "number");
                        }
                        else if (nh == 2)
                        {
                            pt1 = ClsThaoTac.getCongThuc(lstRank[chon]);
                        }
                        else
                        {
                            pt1 = new PhepToan("" + lstRank[chon].Congthuc, lstRank[chon].Ketqua, "number");
                        }
                    }

                    tmg1.Add(pt1);
                    lstSapXep.Add(pt1);
                }
            }
        }



        #endregion
    }
Beispiel #28
0
    void chonData2(ref List <PhepToan> tmg1, List <PhepToan> lstTam, int loai)
    {
        List <PhepToan> lstRank       = new List <PhepToan>();
        List <PhepToan> lstNhanBonNam = new List <PhepToan>();

        foreach (PhepToan item in lstTam)
        {
            if (loai == 4 || loai == 5)
            {
                if (item.Loai.Equals("" + 51) || item.Loai.Equals("" + 52))
                {
                    lstRank.Add(item);
                }
            }
            else if (loai == 6 || loai == 7)
            {
                if (item.Loai.Equals("" + 53) || item.Loai.Equals("" + 54) || item.Loai.Equals("" + 55) || item.Loai.Equals("" + 56))
                {
                    lstRank.Add(item);
                }
            }
            else if (loai == 8 || loai == 15 || loai == 19 || loai == 20)
            {
                if (item.Loai.Equals("" + 57) || item.Loai.Equals("" + 58))
                {
                    lstRank.Add(item);
                }

                if (loai == 15 || loai == 19 || loai == 20)
                {
                    if (item.Loai.Equals("" + 73) || item.Loai.Equals("" + 74))
                    {
                        lstRank.Add(item);
                    }
                }


                if (loai == 19 || loai == 20)
                {
                    if (item.Loai.Equals("" + 59) || item.Loai.Equals("" + 60) || item.Loai.Equals("" + 75) || item.Loai.Equals("" + 76))
                    {
                        lstRank.Add(item);
                    }
                }
            }
            else if (loai == 9)
            {
                if (item.Loai.Equals("" + 61) || item.Loai.Equals("" + 62))
                {
                    lstRank.Add(item);
                }
            }
            else if (loai == 10)
            {
                if (item.Loai.Equals("" + 63) || item.Loai.Equals("" + 64))
                {
                    lstRank.Add(item);
                }
            }
            else if (loai == 11)
            {
                if (item.Loai.Equals("" + 65) || item.Loai.Equals("" + 66))
                {
                    lstRank.Add(item);
                }
            }
            else if (loai == 12)
            {
                if (item.Loai.Equals("" + 67) || item.Loai.Equals("" + 68))
                {
                    lstRank.Add(item);
                }
            }
            else if (loai == 13)
            {
                if (item.Loai.Equals("" + 69) || item.Loai.Equals("" + 70))
                {
                    lstRank.Add(item);
                }
            }
            else if (loai == 14)
            {
                if (item.Loai.Equals("" + 71) || item.Loai.Equals("" + 72))
                {
                    lstRank.Add(item);
                }
            }

            else if (loai == 16)
            {
                if (item.Loai.Equals("" + 75) || item.Loai.Equals("" + 76) || item.Loai.Equals("" + 59) || item.Loai.Equals("" + 60))
                {
                    lstRank.Add(item);
                }
            }
            else if (loai == 17)
            {
                if (item.Loai.Equals("" + 77) || item.Loai.Equals("" + 78) || item.Loai.Equals("" + 81) || item.Loai.Equals("" + 82))
                {
                    lstRank.Add(item);
                }
            }
            else if (loai == 18)
            {
                if (item.Loai.Equals("" + 79) || item.Loai.Equals("" + 80) || item.Loai.Equals("" + 83) || item.Loai.Equals("" + 84))
                {
                    lstRank.Add(item);
                }
            }



            if (loai == 8 || loai == 16)
            {
                if (item.Loai.Equals("" + 59) || item.Loai.Equals("" + 60))
                {
                    lstNhanBonNam.Add(item);
                }
            }
        }

        if (loai == 4)
        {
            lstRank = ClsThaoTac.ChuanHoaDaTa(10, 80, 1, lstRank);
        }
        else if (loai == 6)
        {
            lstRank = ClsThaoTac.ChuanHoaDaTa(0, 50, 0, lstRank);
        }
        else if (loai == 7)
        {
            lstRank = ClsThaoTac.ChuanHoaDaTa(30, 100, 1, lstRank);
        }
        else if (loai == 8)
        {
            lstRank = lstRank.Concat(ClsThaoTac.ChuanHoaDaTa(1, 32, 0, lstNhanBonNam)).Concat(ClsThaoTac.FakeData(2, 50)).ToList();
        }
        else if (loai == 15)
        {
            lstRank = lstRank.Concat(ClsThaoTac.FakeData(2, 33)).ToList();
        }
        else if (loai == 16)
        {
            lstRank = lstRank.Concat(ClsThaoTac.FakeData(2, 52)).ToList();
        }

        #region Singleton
        if (loai == 4 || loai == 5 || loai == 19 || loai == 20)
        {
            //1 phep toan
            while (tmg1.Count < 20)
            {
                int  chon = UnityEngine.Random.Range(0, lstRank.Count);
                bool ok   = false;
                for (int i = 0; i < tmg1.Count; i++)
                {
                    if (lstRank[chon].Ketqua == tmg1[i].Ketqua)
                    {
                        ok = true;
                        break;
                    }
                }
                if (ok == false)
                {
                    PhepToan pt1;
                    if (chon % 7 == 0)
                    {
                        pt1 = new PhepToan(ClsLanguage.doNumber() + lstRank[chon].Ketqua, lstRank[chon].Ketqua, "number");
                    }
                    else if (chon % 4 == 0)
                    {
                        pt1 = new PhepToan("" + lstRank[chon].Ketqua, lstRank[chon].Ketqua, "number");
                    }
                    else
                    {
                        int nh = UnityEngine.Random.Range(0, 3);
                        if (nh == 0)
                        {
                            pt1 = ClsThaoTac.getCongThuc(lstRank[chon]);
                        }
                        else
                        {
                            pt1 = new PhepToan("" + lstRank[chon].Congthuc, lstRank[chon].Ketqua, "number");
                        }
                    }

                    tmg1.Add(pt1);
                    lstSapXep.Add(pt1);
                }
            }
        }
        else if (loai == 6 || loai == 7 || loai == 9 || loai == 10 || loai == 11 || loai == 12 || loai == 13 || loai == 14 || loai == 17 || loai == 18)
        {
            //2 phep toan
            while (tmg1.Count < 20)
            {
                int  chon = UnityEngine.Random.Range(0, lstRank.Count);
                bool ok   = false;
                for (int i = 0; i < tmg1.Count; i++)
                {
                    if (lstRank[chon].Ketqua == tmg1[i].Ketqua)
                    {
                        ok = true;
                        break;
                    }
                }
                if (ok == false)
                {
                    PhepToan pt1;
                    if (chon % 7 == 0)
                    {
                        pt1 = new PhepToan(ClsLanguage.doNumber() + lstRank[chon].Ketqua, lstRank[chon].Ketqua, "number");
                    }
                    else if (chon % 4 == 0)
                    {
                        pt1 = new PhepToan("" + lstRank[chon].Ketqua, lstRank[chon].Ketqua, "number");
                    }
                    else
                    {
                        pt1 = new PhepToan("" + lstRank[chon].Congthuc, lstRank[chon].Ketqua, "number");
                    }

                    tmg1.Add(pt1);
                    lstSapXep.Add(pt1);
                }
            }
        }
        else if (loai == 8 || loai == 15 || loai == 16)
        {
            //1 phep toan biet truopc number
            while (tmg1.Count < 20)
            {
                int  chon = UnityEngine.Random.Range(0, lstRank.Count);
                bool ok   = false;
                for (int i = 0; i < tmg1.Count; i++)
                {
                    if (lstRank[chon].Ketqua == tmg1[i].Ketqua)
                    {
                        ok = true;
                        break;
                    }
                }
                if (ok == false)
                {
                    PhepToan pt1;
                    if (chon % 7 == 0 && lstRank[chon].Loai.Equals("number"))
                    {
                        pt1 = new PhepToan(ClsLanguage.doNumber() + lstRank[chon].Ketqua, lstRank[chon].Ketqua, "number");
                    }
                    else if (chon % 4 == 0 && lstRank[chon].Loai.Equals("number"))
                    {
                        pt1 = new PhepToan("" + lstRank[chon].Ketqua, lstRank[chon].Ketqua, "number");
                    }
                    else
                    {
                        int nh = UnityEngine.Random.Range(0, 3);
                        if (nh == 1)
                        {
                            pt1 = ClsThaoTac.getCongThuc(lstRank[chon]);
                        }
                        else
                        {
                            pt1 = new PhepToan("" + lstRank[chon].Congthuc, lstRank[chon].Ketqua, "number");
                        }
                    }

                    tmg1.Add(pt1);
                    lstSapXep.Add(pt1);
                }
            }
        }



        #endregion
    }