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 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 }
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 }
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); }