private CauHoiCollection TaoDanhSachCauTraLoi(IEnumerable<TuVung> tuvunglambantest, CauHoiCollection CauHoicoll) { int i = 0; while (i < CauHoicoll.Count) { int ques_pos=1; while (ques_pos < 4) { //Chọn ngẫu nhiên 1 câu hỏi trong tuvunglambaitest int stt = RandomTuVung(tuvunglambantest.ToList().Count); TuVung temp = tuvunglambantest.ToList()[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.ToList().Count); temp = tuvunglambantest.ToList()[stt]; } CauHoicoll.Index(i).Choices[ques_pos] = temp; ques_pos++; } i++; } return CauHoicoll; }
private CauHoiCollection SapXepNgauNhien(CauHoiCollection CauTraLoiColl) { CauHoiCollection BaiTest = new CauHoiCollection(); for (int i = 0; i < CauTraLoiColl.Count; i++) { int new_pos = -1; new_pos = RandomTuVung(4); if(i>1) { while(new_pos==CauTraLoiColl.Index(i-2).CauTraLoiDung) { new_pos = RandomTuVung(4); } } CauTraLoiColl.Index(i).CauTraLoiDung = new_pos; //Hóan vị câu trả lới đúng với câu trả lời bất kỳ TuVung oldtv = CauTraLoiColl.Index(i).Choices[0]; TuVung newtv = CauTraLoiColl.Index(i).Choices[new_pos]; CauTraLoiColl.Index(i).Choices[0]= newtv; CauTraLoiColl.Index(i).Choices[new_pos]=oldtv; } BaiTest = CauTraLoiColl; return BaiTest; }
private void BatDau_HinhAnhButton_Click(object sender, EventArgs e) { if (BatDau_HinhAnhButton.Text == "Bắt đầu") { //Load bài Test BaiTest = tracnghiemBUS.TaoBaiTest_HinhAnh(tuvunglambantest, socauhoilamban); if (BaiTest.Count == 0) { MessageBox.Show("Bạn hãy chọn từ điển để tạo bài test"); return; } //Thao tác cho các Control hiển thị TracNghiem_Position = 0; HinhSo_HinhAnhGroupbox.Text = "Hình ảnh số 1"; TraLoi_HinhAnhCheckList.Enabled = true; ChamDiem_HinhAnhButton.Enabled = true; ChonTuDien_HinhAnhButton.Enabled = false; BatDau_HinhAnhButton.Text = "Kết thúc"; ThuTuCauHoi_HinhAnhTextBox.Items.Clear(); TongCauHoi_HinhAnhTextBox.Text = "/" + (socauhoilamban).ToString(); for (int i = 0; i < socauhoilamban; i++) { ThuTuCauHoi_HinhAnhTextBox.Items.Add((i + 1).ToString()); } ThuTuCauHoi_HinhAnhTextBox.Text = "1"; //Load bài Hình ảnh và câu trả lời try { HinhAnhPictureBox.Load(BaiTest.Index(TracNghiem_Position).Choices[BaiTest.Index(TracNghiem_Position).CauTraLoiDung].HinhAnh); } catch { HinhAnhPictureBox.Image=((System.Drawing.Bitmap)(English_Studying.Properties.Resources.error_pic)); } LoadCauTraLoi_HinhAnh(); if (Application.OpenForms["BangKetQua"]!=null) Application.OpenForms["BangKetQua"].Close(); } else { BatDau_HinhAnhButton.Text = "Bắt đầu"; TraLoi_HinhAnhCheckList.Enabled = false; ChamDiem_HinhAnhButton.Enabled = false; ChonTuDien_HinhAnhButton.Enabled = true; } }