public OChuCollection TaoOChu(IEnumerable<TuVung> tuvunglambaitest,ref List<char> Tu) { demsolanloop = 0; try { OChuCollection OChu = new OChuCollection(); //Lấy một chữ (n) chiều dọc ngẫu nhiên --> Tạo thành mảng ký tự Tu = new List<char>(); Tu = LayChuNgauNhien(tuvunglambaitest); //Load từ cho n Ô chữ chiều ngang int i = 0; while (i < chieudaitu) { TuVung temp = LoadTuChoOChu(tuvunglambaitest, Tu[i]); while (true) { if (KiemTraHopLe(temp.Tu, Tu[i]) == true && KiemTraTrung(OChu, temp.Tu) == true && KiemTraTrungTuDoc(temp.Tu,Tu)==true) { break; } temp = LoadTuChoOChu(tuvunglambaitest, Tu[i]); // nếu lặp 5 lần mà ko đựơc, coi như sai demsolanloop++; if (demsolanloop > 5) return null; } OChuBO ochBO = new OChuBO(); ochBO.STT = i; List<char>Tutemp = new List<char>(); for (int k = 0; k < temp.Tu.Length; k++) { char _add =Convert.ToChar(temp.Tu.Substring(k, 1)); Tutemp.Add(_add); } ochBO.Tu = Tutemp; ochBO.NghiaTu = temp.NghiaTu; OChu.Add(ochBO); i++; } return OChu; } catch { return null; } }
public void Add(OChuBO ochuBO) { List.Add(ochuBO); }