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; }
private bool KiemTraTrungCauHoi(TracNghiemCollection cauhoiColl, TuVungBO tv) { foreach (TracNghiemBO tn in cauhoiColl) { if (tv.TuVungID == tn.Choices[0].TuVungID) return true; } return false; }
/// /////////////////////////////tạo và làm bài [TRẮC NGHIỆM HIỂU TỪ]///////////////////////// #region Trắc nghiệm protected void TracNghiemBatDauButton_Click(object sender, EventArgs e) { int socauhoi = Convert.ToInt32(SoCauTiengAnhTextBox.Text); if (TVLambai.Count != 0) { tracnghiemColl = new TracNghiemCollection(); tracnghiemColl = tracnghiemBUS.TaoBai_TracNghiem(TVLambai, socauhoi); //Load câu hỏi và 4 lựa chọn STT_cauhoi = 0; LoadCau(0); Load4LuaChon(0); } //reset lại tất cả control TracNghiemCauSoLabel.Text = "Câu số 1:"; TracNghiemDungLabel.Text = "0"; TracNghiemSaiLabel.Text = "0"; ModalPopupExtender1.Show(); }
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; }
protected void HinhAnhThoatButton_Click(object sender, EventArgs e) { Timer2.Enabled = false; ModalPopupExtender2.Hide(); //reset các control tracnghiemColl = null; HinhAnhCauTraLoiRadioList.Items.Clear(); HinhAnhCauHoiImage.ImageUrl = "~/images/no_image.jpg"; HinhAnhCauSoLabel.Text = "Câu số 0:"; HinhAnhDungLabel.Text = "0"; HinhAnhSaiLabel.Text = "0"; }
protected void Timer2_Tick(object sender, EventArgs e) { //đánh dấu đáp án đúng if (STT_cauhoi < tracnghiemColl.Count - 1) { STT_cauhoi++; LoadHinhAnh(STT_cauhoi); Load4LuaChonHinhAnh(STT_cauhoi); HinhAnhCauSoLabel.Text = "Câu số " + (STT_cauhoi + 1).ToString() + ":"; } else { //reset các control tracnghiemColl = null; HinhAnhCauTraLoiRadioList.Items.Clear(); HinhAnhCauHoiImage.ImageUrl = "~/images/youdidit.jpg"; HinhAnhCauSoLabel.Text = "Câu số 0:"; /* HinhAnhDungLabel.Text = "0"; HinhAnhSaiLabel.Text = "0";*/ } ModalPopupExtender2.Show(); Timer2.Enabled = false; }
protected void TracNghiemThoatButton_Click(object sender, EventArgs e) { Timer1.Enabled = false; ModalPopupExtender1.Hide(); //reset các control tracnghiemColl = null; TracNghiemCauTraLoiListBox.Items.Clear(); TracNghiemCauHoiTextBox.Text = ""; TracNghiemCauSoLabel.Text = "Câu số 0:"; TracNghiemDungLabel.Text = "0"; TracNghiemSaiLabel.Text = "0"; }
protected void Timer1_Tick(object sender, EventArgs e) { //đánh dấu đáp án đúng if (STT_cauhoi < tracnghiemColl.Count - 1) { STT_cauhoi++; LoadCau(STT_cauhoi); Load4LuaChon(STT_cauhoi); TracNghiemCauSoLabel.Text = "Câu số " + (STT_cauhoi + 1).ToString() + ":"; } else { //reset các control tracnghiemColl = null; TracNghiemCauTraLoiListBox.Items.Clear(); TracNghiemCauHoiTextBox.Text = "CHÚC MỪNG BẠN ĐÃ HÒAN THÀNH. KẾT QUẢ: \r\n - Đúng: " + TracNghiemDungLabel.Text + "\r\n - Sai: " + TracNghiemSaiLabel.Text; TracNghiemCauSoLabel.Text = "Câu số 0:"; /* TracNghiemDungLabel.Text = "0"; TracNghiemSaiLabel.Text = "0";*/ } ModalPopupExtender1.Show(); Timer1.Enabled = false; }
//HÀM TẠO RA BÀI HÌNH ẢNH public TracNghiemCollection TaoBai_Hinhanh(TuVungCollection tuvungColl, int socauhoi) { try { TracNghiemCollection DanhsachCauHoi = new TracNghiemCollection(); TracNghiemCollection DanhsachCauTraLoi = new TracNghiemCollection(); TracNghiemCollection baitracnghiem = new TracNghiemCollection(); DanhsachCauHoi = TaoDanhSachCauHoi_HinhAnh(tuvungColl, socauhoi); DanhsachCauTraLoi = TaoDanhSachCauTraLoi(tuvungColl, DanhsachCauHoi); baitracnghiem = SapXepNgauNhien(DanhsachCauTraLoi); return baitracnghiem; } catch { return null; } }
private TracNghiemCollection SapXepNgauNhien(TracNghiemCollection CauTraLoiColl) { TracNghiemCollection BaiTest = new TracNghiemCollection(); 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ỳ TuVungBO oldtv = CauTraLoiColl.Index(i).Choices[0]; TuVungBO newtv = CauTraLoiColl.Index(i).Choices[new_pos]; CauTraLoiColl.Index(i).Choices[0] = newtv; CauTraLoiColl.Index(i).Choices[new_pos] = oldtv; } BaiTest = CauTraLoiColl; return BaiTest; }