Exemple #1
0
 private bool KiemTraTrung(OChuCollection OChu,string tu)
 {
     foreach(OChuBO ochBO in OChu)
     {         
         // chuyển từ mảng ký tự List<char> thành 1 chuỗi
         StringBuilder builder = new StringBuilder();
         foreach (char ch in ochBO.Tu)
         {
             builder.Append(ch);
         }
         string result = builder.ToString();
         //so sánh
         if (result == tu.ToString())
             return false;
     }
     return true;
 }
Exemple #2
0
 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;
     }
 }
   private void LuyenDanhMayNhanhButton_Click(object sender, EventArgs e)
   {
  /*     if (tabControl1.SelectedIndex != 5)
       {
           DialogResult dr = MessageBox.Show("Bạn hãy hòan tất công việc trứơc khi chọn chức năng khác, nếu không khi quay lại tòan bộ sẽ mất hết\r\nBạn có muốn chọn chức năng khác không", "Chú ý!", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
           if (dr == DialogResult.Cancel)
               return;
       }*/
       this.tabControl1.SelectedIndex = 5;   
       TuVungButton.BackColor = System.Drawing.Color.Transparent;
       TuDienButton.BackColor = System.Drawing.Color.Transparent;
       TracNghiemHinhAnhButton.BackColor = System.Drawing.Color.Transparent;
       LuyenNhoNhanhButoon.BackColor = System.Drawing.Color.Transparent;
       TracNghiemButton.BackColor = System.Drawing.Color.Transparent;
       GiaiOChuButton.BackColor = System.Drawing.Color.LightSkyBlue;
       //reload
       tuvungtaoochu = null;
 //      TuHangDoc = null;
       tuvungtaoochu = null;
       ChonTuDien_OChuButton.Enabled = true;
       foreach (Control ct in OChuFowLayout.Controls)
       {
           ct.Text = "";
           ct.BackColor = Color.White;
       }
       OChuPanel.Enabled = false;
       BatDau_OChuButton.Text = "Bắt đầu";
       
   }
        private void BatDau_OChuButton_Click(object sender, EventArgs e)
        {
            if (BatDau_OChuButton.Text == "Bắt đầu")
            {
                if (tuvunglambantest == null)
                {
                    MessageBox.Show("Bạn hãy chọn từ điển để tạo các ô nhớ nhanh");
                    return;
                }
                tuvungtaoochu = ochuBUS.TaoOChu(tuvunglambantest, ref TuHangDoc);


                if (tuvungtaoochu == null)
                {
                    OChuPanel.Enabled = false;
                    MessageBox.Show("Không đủ từ vựng để tạo ra từ hàng dọc ngẫu nhiên '" + TaoStringTuList(TuHangDoc) + "'\r\nBạn hãy nhập thêm nhiều từ vựng để có thể tạo nhiều ô chữ\r\nBấm 'bắt đầu' để tạo ô chữ mới");
                    return;
                }
                DemCauDung = 0;
                OChuCollection ochucoll = new OChuCollection();
                //Load control
                GoiY_OChuTextBox.Text = "";
                TraLoi_OChuTextBox.Text = "";
                foreach (Control cl in OChuFowLayout.Controls)
                {
                    cl.Text = "";
                    cl.BackColor = Color.White;
                }

                OChuPanel.Enabled = true;
                ChonTuDien_OChuButton.Enabled = false;

                for (int i = 0; i < TuHangDoc.Count; i++)
                    ToMauOChu(i, tuvungtaoochu.Index(i).Tu, TuHangDoc[i]);
                BatDau_OChuButton.Text = "Kết thúc";
            }
            else
            {
                ChonTuDien_OChuButton.Enabled = true;
                for (int i = 0; i < TuHangDoc.Count; i++)
                {
                    DienVaoOChu(i, tuvungtaoochu.Index(i).Tu, TuHangDoc[i]);
                }
                OChuPanel.Enabled = false;
                BatDau_OChuButton.Text = "Bắt đầu";
            }


        }