Пример #1
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
    }
Пример #2
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
    }
Пример #3
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
    }
Пример #4
0
    public void Create()
    {
        #region Singleton

        float           positionX = startX;
        float           positionY = startY;
        List <PhepToan> lstTMG    = new List <PhepToan>();
        if (GameController.instance.level == 4)
        {
            chonData(ref lstTMG, ClsThaoTac.ChuanHoaDaTa(10, 80, 1, GameController.instance.lstCongTruHai), GameController.instance.level);
        }
        else if (GameController.instance.level == 5)
        {
            chonData(ref lstTMG, GameController.instance.lstCongTruHai, GameController.instance.level);
        }
        else if (GameController.instance.level == 6)
        {
            chonData(ref lstTMG, ClsThaoTac.ChuanHoaDaTa(0, 50, 0, GameController.instance.lstCongTruBa), GameController.instance.level);
        }
        else if (GameController.instance.level == 7)
        {
            chonData(ref lstTMG, ClsThaoTac.ChuanHoaDaTa(30, 100, 1, GameController.instance.lstCongTruBa), GameController.instance.level);
        }
        else if (GameController.instance.level == 8)
        {
            var bien = GameController.instance.lstNhanHaiBa.Concat(ClsThaoTac.ChuanHoaDaTa(1, 32, 0, GameController.instance.lstNhanBonNam)).Concat(ClsThaoTac.FakeData(2, 50)).ToList();
            chonData(ref lstTMG, bien, GameController.instance.level);
        }
        else if (GameController.instance.level == 9)
        {
            chonData(ref lstTMG, GameController.instance.lstNhanCong23, GameController.instance.level);
        }
        else if (GameController.instance.level == 10)
        {
            chonData(ref lstTMG, GameController.instance.lstNhanCong45, GameController.instance.level);
        }
        else if (GameController.instance.level == 11)
        {
            chonData(ref lstTMG, GameController.instance.lstNhanTru23, GameController.instance.level);
        }
        else if (GameController.instance.level == 12)
        {
            chonData(ref lstTMG, GameController.instance.lstNhanTru45, GameController.instance.level);
        }
        else if (GameController.instance.level == 13)
        {
            chonData(ref lstTMG, GameController.instance.lstTruNhan23, GameController.instance.level);
        }
        else if (GameController.instance.level == 14)
        {
            chonData(ref lstTMG, GameController.instance.lstTruNhan45, GameController.instance.level);
        }
        else if (GameController.instance.level == 15)
        {
            var bien = GameController.instance.lstChia23.Concat(GameController.instance.lstNhanHaiBa).Concat(ClsThaoTac.FakeData(2, 33)).ToList();
            chonData(ref lstTMG, bien, GameController.instance.level);
        }
        else if (GameController.instance.level == 16)
        {
            var bien = GameController.instance.lstChia45.Concat(GameController.instance.lstNhanBonNam).Concat(ClsThaoTac.FakeData(2, 52)).ToList();
            chonData(ref lstTMG, bien, GameController.instance.level);
        }

        else if (GameController.instance.level == 17)
        {
            chonData(ref lstTMG, GameController.instance.lstCongChia23.Concat(GameController.instance.lstTruChia23).ToList(), GameController.instance.level);
        }
        else if (GameController.instance.level == 18)
        {
            chonData(ref lstTMG, GameController.instance.lstCongChia45.Concat(GameController.instance.lstTruChia45).ToList(), GameController.instance.level);
        }

        else if (GameController.instance.level == 19 || GameController.instance.level == 20)
        {
            var bien = GameController.instance.lstNhanHaiBa.Concat(GameController.instance.lstNhanBonNam).Concat(GameController.instance.lstChia23).Concat(GameController.instance.lstChia45).ToList();

            chonData(ref lstTMG, bien, GameController.instance.level);
        }

        #endregion

        lstSapXep = lstSapXep.OrderBy(p => p.Ketqua).ToList();


        if (checkCreate)
        {
            int vt = 1;

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

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

        currentState = State.InGame1;
        txtLoading.gameObject.SetActive(false);
    }