Example #1
0
        } //Kiểm Tra có trùng từ hàng ngang nào không    
        private string [,]SapxepOChu(List<char> tuhangdoc,TuVungCollection HangNgangList)
        {
            string[,] OChu = new string[12, 21];
            for (int a = 0; a < 12; a++)
                for (int b = 0; b < 21; b++)
                    OChu[a, b] = "";
            for (int i = 0; i < tuhangdoc.Count; i++)
            {
                char tu=tuhangdoc[i];
                string tuhangngang=HangNgangList.Index(i).TuVung;
                int vitrikytu = tuhangngang.IndexOf(tu);
                int truoc = tuhangngang.Substring(0, vitrikytu).Length;//chiều dài tính từ đầu đến [vitrikytu]
                int sau = tuhangngang.Substring(vitrikytu + 1, tuhangngang.Length - truoc - 1).Length; //chiều dài tính từ [vitrikytu] đến cuối

                int k = 0;
                for (int j = 10-truoc; j < 10+sau+1; j++)
                {
                    List<char> temp = new List<char>();
                    temp = tuhangngang.ToList();
                    OChu[i, j] = temp[k].ToString();
                    k++;
                }
            }
            return OChu;
        }
 private TracNghiemCollection TaoDanhSachCauHoi_HinhAnh(TuVungCollection tuvunglambantest, int socauhoilambai)
 {
     TracNghiemCollection CauHoiColl = new TracNghiemCollection();
     int i = 0;
     while (i < socauhoilambai)
     {
         //Chọn ngẫu nhiên 1 câu hỏi trong tuvunglambaitest
         int stt = RandomTuVung(tuvunglambantest.Count);
         TuVungBO temp = tuvunglambantest.Index(stt);
         //Kiểm tra câu hỏi đã có trong danh sách chưa
         //Nếu có rồi: Tạo lại -->Kiểm tra
         //Nếu chưa: Add vào --> i++
         while (KiemTraTrungCauHoi(CauHoiColl, temp) == true || temp.HinhAnh.Trim() == "")
         {
             stt = RandomTuVung(tuvunglambantest.Count);
             temp = tuvunglambantest.Index(stt);
         }
         TracNghiemBO tnBO = new TracNghiemBO();
         tnBO.Choices[0] = temp;
         CauHoiColl.Add(tnBO);
         i++;
     }
     return CauHoiColl;
 }
Example #3
0
 //B2: Lấy ra các từ hàng ngang
 private TuVungBO LayChuHangNgang(TuVungCollection tuvunglambaitest, char tu)
 {
     //Lấy ra các [TuVungBO].[TuVung] có chứ [tu]
     TuVungCollection tempColl = new TuVungCollection();
     foreach (TuVungBO tv in tuvunglambaitest)
     {
         if (tv.TuVung.Contains(tu))
         {
             tempColl.Add(tv);
         }
     }
     //chọn ngẫu nhiên một từ
     if (tempColl.Count == 0)
         return null;
     int rand = rd.Next(tempColl.Count);
     return tempColl.Index(rand);
 }
Example #4
0
 //B1: Lấy ra một từ ngẫunhiên làm từ hàng dọc
 private string LayChuHangDoc(TuVungCollection tuvunglambaitest)
 {
     List<char> Tu = new List<char>();
     int len = tuvunglambaitest.Count;
     int rand = rd.Next(len);
     string temp = "";
     while (true)
     {
         rand = rd.Next(len);
         temp = tuvunglambaitest.Index(rand).TuVung;
         if (temp.Length < 10)
         {
             rand = rd.Next(len);
             break;
         }
     }
     /*char[] TuTemp = temp.ToCharArray();
     for (int i = 0; i < TuTemp.Length; i++)
         Tu.Add(TuTemp[i]);*/
     return temp;
 }
 static int tuhangdoclen;//biến chứa chiều dài từ dọc
 public void TaoBai()
 {
     OChuGoiYDropDown.SelectedIndex = 0;
     rights = 0;
     OChu = new string[12, 21];
     GoiYOChuColl = new TuVungCollection();
     tuhangdoclen = 0;
     OChu = ochuBUS.TaoOChu(TVLambai, ref tuhangdoclen, ref GoiYOChuColl);
     if (OChu != null)
     {
         //Tô màu hàng ngang
         int i = 0;//biến dòng
         int j = 0;//biến cột
         foreach (Control ct in OChuConTentPanel.Controls)
         {
             if (ct is TextBox)
             {
                 if (j < 21)
                 {
                     ((TextBox)ct).BackColor = System.Drawing.Color.White;
                     ((TextBox)ct).Font.Bold = true;
                     ((TextBox)ct).Text = "";
                     if (OChu[i, j] != "")
                         ((TextBox)ct).BackColor = System.Drawing.Color.LightGreen;
                     j++;
                     if (j == 21)
                     {
                         j = 0;
                         i++;
                     }
                 }
                 if (i == 12 && j == 21)
                     break;
             }
         }
         //Tô màu ô hàng dọc
         int len = 0;
         for (int c = 10; c < 200; c += 21)
         {
             foreach (Control ct in OChuConTentPanel.Controls)
             {
                 if (ct.ID == "OChu" + c.ToString())
                 {
                     ((TextBox)ct).BackColor = System.Drawing.Color.Yellow;
                     len++;
                     break;
                 }
             }
             if (len == tuhangdoclen)
                 break;
         }
         OChuGoiYTextBox.Text = GoiYOChuColl.Index(0).NghiaTu;
     }
 }
 private TracNghiemCollection TaoDanhSachCauTraLoi(TuVungCollection tuvunglambantest, TracNghiemCollection CauHoicoll)
 {
     int i = 0;
     while (i < CauHoicoll.Count)
     {
         int ques_pos = 1;
         while (ques_pos < 4)
         {
             //Chọn ngẫu nhiên 1 trả lời trong tuvunglambaitest
             int stt = RandomTuVung(tuvunglambantest.Count);
             TuVungBO temp = tuvunglambantest.Index(stt);
             //Kiểm tra câu trả lời đã có trong danh sách trả lời chưa
             //Nếu có rồi: Tạo lại -->Kiểm tra
             //Nếu chưa: Add vào --> i++
             while (KiemTraTrungCauTraLoi(CauHoicoll.Index(i).Choices, temp, ques_pos) == true)
             {
                 stt = RandomTuVung(tuvunglambantest.Count);
                  temp = tuvunglambantest.Index(stt);
             }
             CauHoicoll.Index(i).Choices[ques_pos] = temp;
             ques_pos++;
         }
         i++;
     }
     return CauHoicoll;
 }