private void Close_NewGame_Form_Click(object sender, EventArgs e) { //Mở lại bộ đếm thời gian if (VanCo.TinhThoiGian) { if (VanCo.LuotDi == 0) { ChessBoard.Timer_NguoiChoi1.Enabled = true; ChessBoard.Timer_NguoiChoi2.Enabled = false; } if (VanCo.LuotDi == 1) { ChessBoard.Timer_NguoiChoi2.Enabled = true; ChessBoard.Timer_NguoiChoi1.Enabled = false; } } //Mở lại bàn cờ if (VanCo.LuotDi == 0) { VanCo.LuotDi = 1; VanCo.DoiLuotDi(); } else { VanCo.LuotDi = 0; VanCo.DoiLuotDi(); } this.Close(); }
public override int KiemTra(int i, int j) { bool turn = false; if ((i >= 0 && i <= 2 && j >= 3 && j <= 5) || (i >= 7 && i <= 9 && j >= 3 && j <= 5)) { if ((i == Hang + 1 && j == Cot + 1) || (i == Hang + 1 && j == Cot - 1) || (i == Hang - 1 && j == Cot - 1) || (i == Hang - 1 && j == Cot + 1)) { if (BanCo.ViTri[i, j].Trong == true) { turn = true; } if (BanCo.ViTri[i, j].Trong == false) { if (BanCo.ViTri[i, j].Phe != this.Phe) { turn = true; } } } } if (VanCo.NguoiChoi[0].qTuong.Cot == VanCo.NguoiChoi[1].qTuong.Cot && Cot == VanCo.NguoiChoi[1].qTuong.Cot) { int ct = 0; if (j != Cot) { VanCo.OCoTrong(Hang, Cot); for (int t = VanCo.NguoiChoi[0].qTuong.Hang + 1; t < VanCo.NguoiChoi[1].qTuong.Hang; t++) { if (BanCo.ViTri[t, Cot].Trong == false) { ct++; } } if (ct == 0) { turn = false; } BanCo.ViTri[Hang, Cot].Trong = false; BanCo.ViTri[Hang, Cot].Ten = this.Ten; BanCo.ViTri[Hang, Cot].Phe = this.Phe; BanCo.ViTri[Hang, Cot].ThuTu = this.ThuTu; } } //Trả về kết quả if (turn) { return(1); } else { return(0); } }
private void Ok_Click(object sender, EventArgs e) { FileStream saveOptions = File.Create("Options.cco"); StreamWriter fileWriter = new StreamWriter(saveOptions); VanCo.Path_NhacNen = path.Text; if (VanCo.NhacNen) { VanCo.mciSendString("close MediaFile", null, 0, IntPtr.Zero); VanCo.mciSendString("open \"" + VanCo.Path_NhacNen + "\" type mpegvideo alias MediaFile", null, 0, IntPtr.Zero); VanCo.mciSendString("play MediaFile REPEAT", null, 0, IntPtr.Zero); } if (!VanCo.NhacNen) { VanCo.mciSendString("close MediaFile", null, 0, IntPtr.Zero); } //Ghi options AmThanh if (VanCo.AmThanh) { fileWriter.WriteLine("1"); } else { fileWriter.WriteLine("0"); } //Ghi options NhacNen if (VanCo.NhacNen) { fileWriter.WriteLine("1"); } else { fileWriter.WriteLine("0"); } fileWriter.WriteLine(VanCo.Path_NhacNen); fileWriter.Close(); saveOptions.Close(); this.Close(); }
public override int KiemTra(int i, int j) { bool turn = true; if (i < 0 || i > 9 || j < 0 || j > 8) { turn = false; } if (i != Hang && j != Cot) { turn = false; } if (i == Hang && j >= 0 && j <= 8) { if (j > Cot) { for (int k = Cot + 1; k < j; k++) { if (BanCo.ViTri[i, k].Trong == false) { turn = false; break; } } } if (j < Cot) { for (int k = j + 1; k <= Cot - 1; k++) { if (BanCo.ViTri[i, k].Trong == false) { turn = false; break; } } } if (BanCo.ViTri[i, j].Trong == false) { if (BanCo.ViTri[i, j].Phe == this.Phe) { turn = false; } } } if (j == Cot && i >= 0 && i <= 9) { if (i > Hang) { for (int k = Hang + 1; k < i; k++) { if (BanCo.ViTri[k, j].Trong == false) { turn = false; break; } } } if (i < Hang) { for (int k = i + 1; k <= Hang - 1; k++) { if (BanCo.ViTri[k, j].Trong == false) { turn = false; break; } } } if (BanCo.ViTri[i, j].Trong == false) { if (BanCo.ViTri[i, j].Phe == this.Phe) { turn = false; } } } if (VanCo.NguoiChoi[0].qTuong.Cot == VanCo.NguoiChoi[1].qTuong.Cot && Cot == VanCo.NguoiChoi[1].qTuong.Cot) { int ct = 0; if (j != Cot) { VanCo.OCoTrong(Hang, Cot); for (int t = VanCo.NguoiChoi[0].qTuong.Hang + 1; t < VanCo.NguoiChoi[1].qTuong.Hang; t++) { if (BanCo.ViTri[t, Cot].Trong == false) { ct++; } } if (ct == 0) { turn = false; } BanCo.ViTri[Hang, Cot].Trong = false; BanCo.ViTri[Hang, Cot].Ten = this.Ten; BanCo.ViTri[Hang, Cot].Phe = this.Phe; BanCo.ViTri[Hang, Cot].ThuTu = this.ThuTu; } } //Trả về kết quả if (turn) { return(1); } else { return(0); } }
public override int TuongAnToan(int i, int j) { bool turn = true; //Kiểm tra tướng an toàn if (turn == true) { int ho, co; QuanCo temp; temp = new QuanCo(); ho = this.Hang; co = this.Cot; if (BanCo.ViTri[i, j].Trong == false) { if (BanCo.ViTri[i, j].Ten == "tuong") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qTuong; } if (BanCo.ViTri[i, j].Ten == "sy") { if (BanCo.ViTri[i, j].ThuTu == "0") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qSy[0]; } if (BanCo.ViTri[i, j].ThuTu == "1") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qSy[1]; } } if (BanCo.ViTri[i, j].Ten == "tinh") { if (BanCo.ViTri[i, j].ThuTu == "0") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qTinh[0]; } if (BanCo.ViTri[i, j].ThuTu == "1") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qTinh[1]; } } if (BanCo.ViTri[i, j].Ten == "xe") { if (BanCo.ViTri[i, j].ThuTu == "0") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qXe[0]; } if (BanCo.ViTri[i, j].ThuTu == "1") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qXe[1]; } } if (BanCo.ViTri[i, j].Ten == "phao") { if (BanCo.ViTri[i, j].ThuTu == "0") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qPhao[0]; } if (BanCo.ViTri[i, j].ThuTu == "1") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qPhao[1]; } } if (BanCo.ViTri[i, j].Ten == "ma") { if (BanCo.ViTri[i, j].ThuTu == "0") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qMa[0]; } if (BanCo.ViTri[i, j].ThuTu == "1") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qMa[1]; } } if (BanCo.ViTri[i, j].Ten == "chot") { if (BanCo.ViTri[i, j].ThuTu == "0") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qChot[0]; } if (BanCo.ViTri[i, j].ThuTu == "1") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qChot[1]; } if (BanCo.ViTri[i, j].ThuTu == "2") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qChot[2]; } if (BanCo.ViTri[i, j].ThuTu == "3") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qChot[3]; } if (BanCo.ViTri[i, j].ThuTu == "4") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qChot[4]; } } } //Giả sử quân cờ được đi để kiểm tra Tướng mình có bị chiếu ko VanCo.OCoTrong(Hang, Cot); BanCo.ViTri[i, j].Trong = false; BanCo.ViTri[i, j].Phe = Phe; BanCo.ViTri[i, j].Ten = Ten; BanCo.ViTri[i, j].ThuTu = ThuTu; this.Hang = i; this.Cot = j; if (temp.Phe != 2) { temp.TrangThai = 0; temp.picQuanCo.Visible = false; } //Kiểm tra if (VanCo.ChieuTuong(VanCo.NguoiChoi[Phe].qTuong) == true) { turn = false; } //Trả lại những gì đã giả sử ở trên ^^! this.Hang = ho; this.Cot = co; VanCo.OCoTrong(i, j); BanCo.ViTri[ho, co].Trong = false; BanCo.ViTri[ho, co].Phe = Phe; BanCo.ViTri[ho, co].Ten = Ten; BanCo.ViTri[ho, co].ThuTu = ThuTu; if (temp.Phe != 2) { temp.TrangThai = 1; temp.picQuanCo.Visible = true; BanCo.ViTri[i, j].Trong = false; BanCo.ViTri[i, j].Ten = temp.Ten; BanCo.ViTri[i, j].Phe = temp.Phe; BanCo.ViTri[i, j].ThuTu = temp.ThuTu; } } //Trả về kết quả if (turn) { return(1); } else { return(0); } }
public override int KiemTra(int i, int j) { bool turn = false; if (i == Hang - 2 && (j == Cot - 1 || j == Cot + 1)) { if (Hang - 2 >= 0 && Hang - 2 <= 9 && ((Cot - 1 >= 0 && Cot - 1 <= 8) || (Cot + 1 >= 0 && Cot + 1 <= 8))) { if (BanCo.ViTri[Hang - 1, Cot].Trong == true) { if (BanCo.ViTri[i, j].Trong == true) { turn = true; } if (BanCo.ViTri[i, j].Trong == false) { if (BanCo.ViTri[i, j].Phe != this.Phe) { turn = true; } } } } } if (i == Hang + 2 && (j == Cot - 1 || j == Cot + 1)) { if (Hang + 2 >= 0 && Hang + 2 <= 9 && ((Cot - 1 >= 0 && Cot - 1 <= 8) || (Cot + 1 >= 0 && Cot + 1 <= 8))) { if (BanCo.ViTri[Hang + 1, Cot].Trong == true) { if (BanCo.ViTri[i, j].Trong == true) { turn = true; } if (BanCo.ViTri[i, j].Trong == false) { if (BanCo.ViTri[i, j].Phe != this.Phe) { turn = true; } } } } } if (j == Cot - 2 && (i == Hang - 1 || i == Hang + 1)) { if (Cot - 2 >= 0 && Cot - 2 <= 8 && ((Hang - 1 >= 0 && Hang - 1 <= 9) || (Hang + 1 >= 0 && Hang + 1 <= 9))) { if (BanCo.ViTri[Hang, Cot - 1].Trong == true) { if (BanCo.ViTri[i, j].Trong == true) { turn = true; } if (BanCo.ViTri[i, j].Trong == false) { if (BanCo.ViTri[i, j].Phe != this.Phe) { turn = true; } } } } } if (j == Cot + 2 && (i == Hang - 1 || i == Hang + 1)) { if (Cot + 2 >= 0 && Cot + 2 <= 8 && ((Hang - 1 >= 0 && Hang - 1 <= 9) || (Hang + 1 >= 0 && Hang + 1 <= 9))) { if (BanCo.ViTri[Hang, Cot + 1].Trong == true) { if (BanCo.ViTri[i, j].Trong == true) { turn = true; } if (BanCo.ViTri[i, j].Trong == false) { if (BanCo.ViTri[i, j].Phe != this.Phe) { turn = true; } } } } } if (VanCo.NguoiChoi[0].qTuong.Cot == VanCo.NguoiChoi[1].qTuong.Cot && Cot == VanCo.NguoiChoi[1].qTuong.Cot) { int ct = 0; if (j != Cot) { VanCo.OCoTrong(Hang, Cot); for (int t = VanCo.NguoiChoi[0].qTuong.Hang + 1; t < VanCo.NguoiChoi[1].qTuong.Hang; t++) { if (BanCo.ViTri[t, Cot].Trong == false) { ct++; } } if (ct == 0) { turn = false; } BanCo.ViTri[Hang, Cot].Trong = false; BanCo.ViTri[Hang, Cot].Ten = this.Ten; BanCo.ViTri[Hang, Cot].Phe = this.Phe; BanCo.ViTri[Hang, Cot].ThuTu = this.ThuTu; } } //Trả về kết quả if (turn) { return(1); } else { return(0); } }
private void BatDau_Click(object sender, EventArgs e) { if (TenQuanDo.Text != "" && TenQuanDen.Text != "") { VanCo.TenNguoiChoi1 = TenQuanDo.Text; VanCo.TenNguoiChoi2 = TenQuanDen.Text; TenQuanDo.Text = ""; TenQuanDen.Text = ""; //Thiết lập lại bộ đếm thời gian VanCo.NguoiChoi1_phut = 15; VanCo.NguoiChoi1_giay = 0; VanCo.NguoiChoi2_phut = 15; VanCo.NguoiChoi2_giay = 0; if (TinhThoiGian.Checked) { VanCo.TinhThoiGian = true; if (ChonThoiGian.SelectedIndex == 0) { VanCo.NguoiChoi1_phut = 5; VanCo.NguoiChoi2_phut = 5; } if (ChonThoiGian.SelectedIndex == 1) { VanCo.NguoiChoi1_phut = 10; VanCo.NguoiChoi2_phut = 10; } if (ChonThoiGian.SelectedIndex == 2) { VanCo.NguoiChoi1_phut = 15; VanCo.NguoiChoi2_phut = 15; } } else { VanCo.TinhThoiGian = false; } VanCo.ThGian_NguoiChoi1.Text = "Thời gian còn: " + Convert.ToString(VanCo.NguoiChoi1_phut) + " : 00"; VanCo.ThGian_NguoiChoi2.Text = "Thời gian còn: " + Convert.ToString(VanCo.NguoiChoi2_phut) + " : 00"; ChessBoard.Timer_NguoiChoi1.Enabled = false; ChessBoard.Timer_NguoiChoi2.Enabled = false; //tạo ván cờ mới VanCo.NewGame(); if (Chap.Checked) { VanCo.Chap = true; } else { VanCo.Chap = false; } if (VanCo.Chap) { VanCo.ChapCo.Visible = true; } else if (VanCo.TinhThoiGian == true) { ChessBoard.Timer_NguoiChoi1.Enabled = true; } this.Close(); } else { MessageBox.Show("Nhập tên 2 người chơi"); } }
public override int KiemTra(int i, int j) { bool turn = false; int ho, co; QuanCo temp; temp = new QuanCo(); if ((i >= 0 && i <= 2 && j >= 3 && j <= 5) || (i >= 7 && i <= 9 && j >= 3 && j <= 5)) { if ((i == Hang + 1 && j == Cot) || (i == Hang - 1 && j == Cot) || (i == Hang && j == Cot + 1) || (i == Hang && j == Cot - 1)) { if (BanCo.ViTri[i, j].Trong == true) { turn = true; } if (BanCo.ViTri[i, j].Trong == false) { if (BanCo.ViTri[i, j].Phe != this.Phe) { turn = true; } } } } if (Phe == 0) { int ct = 0; if (j == VanCo.NguoiChoi[1].qTuong.Cot) { if (BanCo.ViTri[i, j].Trong == true) { for (int t = Hang + 1; t < VanCo.NguoiChoi[1].qTuong.Hang; t++) { if (BanCo.ViTri[t, j].Trong == false) { ct++; } } if (ct == 0) { turn = false; } } else { if (BanCo.ViTri[i, j].Ten == "tuong") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qTuong; } if (BanCo.ViTri[i, j].Ten == "sy") { if (BanCo.ViTri[i, j].ThuTu == "0") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qSy[0]; } if (BanCo.ViTri[i, j].ThuTu == "1") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qSy[1]; } } if (BanCo.ViTri[i, j].Ten == "tinh") { if (BanCo.ViTri[i, j].ThuTu == "0") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qTinh[0]; } if (BanCo.ViTri[i, j].ThuTu == "1") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qTinh[1]; } } if (BanCo.ViTri[i, j].Ten == "xe") { if (BanCo.ViTri[i, j].ThuTu == "0") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qXe[0]; } if (BanCo.ViTri[i, j].ThuTu == "1") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qXe[1]; } } if (BanCo.ViTri[i, j].Ten == "phao") { if (BanCo.ViTri[i, j].ThuTu == "0") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qPhao[0]; } if (BanCo.ViTri[i, j].ThuTu == "1") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qPhao[1]; } } if (BanCo.ViTri[i, j].Ten == "ma") { if (BanCo.ViTri[i, j].ThuTu == "0") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qMa[0]; } if (BanCo.ViTri[i, j].ThuTu == "1") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qMa[1]; } } if (BanCo.ViTri[i, j].Ten == "chot") { if (BanCo.ViTri[i, j].ThuTu == "0") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qChot[0]; } if (BanCo.ViTri[i, j].ThuTu == "1") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qChot[1]; } if (BanCo.ViTri[i, j].ThuTu == "2") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qChot[2]; } if (BanCo.ViTri[i, j].ThuTu == "3") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qChot[3]; } if (BanCo.ViTri[i, j].ThuTu == "4") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qChot[4]; } } ho = this.Hang; co = this.Cot; VanCo.OCoTrong(Hang, Cot); BanCo.ViTri[i, j].Trong = false; BanCo.ViTri[i, j].Phe = Phe; BanCo.ViTri[i, j].Ten = Ten; BanCo.ViTri[i, j].ThuTu = ThuTu; this.Hang = i; this.Cot = j; temp.TrangThai = 0; temp.picQuanCo.Visible = false; //kiem tra for (int t = Hang + 1; t < VanCo.NguoiChoi[1].qTuong.Hang; t++) { if (BanCo.ViTri[t, j].Trong == false) { ct++; } } if (ct == 0) { turn = false; } this.Hang = ho; this.Cot = co; VanCo.OCoTrong(i, j); BanCo.ViTri[ho, co].Trong = false; BanCo.ViTri[ho, co].Phe = Phe; BanCo.ViTri[ho, co].Ten = Ten; BanCo.ViTri[ho, co].ThuTu = ThuTu; if (temp.Phe != 2) { temp.TrangThai = 1; temp.picQuanCo.Visible = true; BanCo.ViTri[i, j].Trong = false; BanCo.ViTri[i, j].Ten = temp.Ten; BanCo.ViTri[i, j].Phe = temp.Phe; BanCo.ViTri[i, j].ThuTu = temp.ThuTu; } } } } if (Phe == 1) { int ct = 0; if (j == VanCo.NguoiChoi[0].qTuong.Cot) { if (BanCo.ViTri[i, j].Trong == true) { for (int t = Hang - 1; t > VanCo.NguoiChoi[0].qTuong.Hang; t--) { if (BanCo.ViTri[t, j].Trong == false) { ct++; } } if (ct == 0) { turn = false; } } else { if (BanCo.ViTri[i, j].Ten == "tuong") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qTuong; } if (BanCo.ViTri[i, j].Ten == "sy") { if (BanCo.ViTri[i, j].ThuTu == "0") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qSy[0]; } if (BanCo.ViTri[i, j].ThuTu == "1") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qSy[1]; } } if (BanCo.ViTri[i, j].Ten == "tinh") { if (BanCo.ViTri[i, j].ThuTu == "0") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qTinh[0]; } if (BanCo.ViTri[i, j].ThuTu == "1") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qTinh[1]; } } if (BanCo.ViTri[i, j].Ten == "xe") { if (BanCo.ViTri[i, j].ThuTu == "0") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qXe[0]; } if (BanCo.ViTri[i, j].ThuTu == "1") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qXe[1]; } } if (BanCo.ViTri[i, j].Ten == "phao") { if (BanCo.ViTri[i, j].ThuTu == "0") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qPhao[0]; } if (BanCo.ViTri[i, j].ThuTu == "1") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qPhao[1]; } } if (BanCo.ViTri[i, j].Ten == "ma") { if (BanCo.ViTri[i, j].ThuTu == "0") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qMa[0]; } if (BanCo.ViTri[i, j].ThuTu == "1") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qMa[1]; } } if (BanCo.ViTri[i, j].Ten == "chot") { if (BanCo.ViTri[i, j].ThuTu == "0") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qChot[0]; } if (BanCo.ViTri[i, j].ThuTu == "1") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qChot[1]; } if (BanCo.ViTri[i, j].ThuTu == "2") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qChot[2]; } if (BanCo.ViTri[i, j].ThuTu == "3") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qChot[3]; } if (BanCo.ViTri[i, j].ThuTu == "4") { temp = VanCo.NguoiChoi[BanCo.ViTri[i, j].Phe].qChot[4]; } } ho = this.Hang; co = this.Cot; VanCo.OCoTrong(Hang, Cot); BanCo.ViTri[i, j].Trong = false; BanCo.ViTri[i, j].Phe = Phe; BanCo.ViTri[i, j].Ten = Ten; BanCo.ViTri[i, j].ThuTu = ThuTu; this.Hang = i; this.Cot = j; temp.TrangThai = 0; temp.picQuanCo.Visible = false; //kiem tra for (int t = Hang - 1; t > VanCo.NguoiChoi[0].qTuong.Hang; t--) { if (BanCo.ViTri[t, j].Trong == false) { ct++; } } if (ct == 0) { turn = false; } this.Hang = ho; this.Cot = co; VanCo.OCoTrong(i, j); BanCo.ViTri[ho, co].Trong = false; BanCo.ViTri[ho, co].Phe = Phe; BanCo.ViTri[ho, co].Ten = Ten; BanCo.ViTri[ho, co].ThuTu = ThuTu; if (temp.Phe != 2) { temp.TrangThai = 1; temp.picQuanCo.Visible = true; BanCo.ViTri[i, j].Trong = false; BanCo.ViTri[i, j].Ten = temp.Ten; BanCo.ViTri[i, j].Phe = temp.Phe; BanCo.ViTri[i, j].ThuTu = temp.ThuTu; } } } } //Trả về kết quả if (turn) { return(1); } else { return(0); } }
//------------Thao tác trên quân cờ-------------------------// private void picQuanCo_MouseClick(Object sender, MouseEventArgs e) { if (VanCo.Chap) { if (this.Ten != "tuong") { VanCo.AnQuanCo(this); } BanCo.ViTri[this.Hang, this.Cot].Trong = true; BanCo.ViTri[this.Hang, this.Cot].Phe = 2; BanCo.ViTri[this.Hang, this.Cot].ThuTu = ""; BanCo.ViTri[this.Hang, this.Cot].Ten = ""; } else { switch (VanCo.Marked) { case true: if (this.TrangThai == 1) { if (this.Phe == VanCo.DanhDau.Phe) { VanCo.Marked = false; if (VanCo.DanhDau.Phe == 0) { if (VanCo.DanhDau.Ten == "tuong") { VanCo.DanhDau.picQuanCo.Image = Board.Properties.Resources._1tuong; } if (VanCo.DanhDau.Ten == "sy") { VanCo.DanhDau.picQuanCo.Image = Board.Properties.Resources._1sy; } if (VanCo.DanhDau.Ten == "tinh") { VanCo.DanhDau.picQuanCo.Image = Board.Properties.Resources._1tinh; } if (VanCo.DanhDau.Ten == "xe") { VanCo.DanhDau.picQuanCo.Image = Board.Properties.Resources._1xe; } if (VanCo.DanhDau.Ten == "phao") { VanCo.DanhDau.picQuanCo.Image = Board.Properties.Resources._1phao; } if (VanCo.DanhDau.Ten == "ma") { VanCo.DanhDau.picQuanCo.Image = Board.Properties.Resources._1ma; } if (VanCo.DanhDau.Ten == "chot") { VanCo.DanhDau.picQuanCo.Image = Board.Properties.Resources._1chot; } } if (VanCo.DanhDau.Phe == 1) { if (VanCo.DanhDau.Ten == "tuong") { VanCo.DanhDau.picQuanCo.Image = Board.Properties.Resources._2tuong; } if (VanCo.DanhDau.Ten == "sy") { VanCo.DanhDau.picQuanCo.Image = Board.Properties.Resources._2sy; } if (VanCo.DanhDau.Ten == "tinh") { VanCo.DanhDau.picQuanCo.Image = Board.Properties.Resources._2tinh; } if (VanCo.DanhDau.Ten == "xe") { VanCo.DanhDau.picQuanCo.Image = Board.Properties.Resources._2xe; } if (VanCo.DanhDau.Ten == "phao") { VanCo.DanhDau.picQuanCo.Image = Board.Properties.Resources._2phao; } if (VanCo.DanhDau.Ten == "ma") { VanCo.DanhDau.picQuanCo.Image = Board.Properties.Resources._2ma; } if (VanCo.DanhDau.Ten == "chot") { VanCo.DanhDau.picQuanCo.Image = Board.Properties.Resources._2chot; } } BanCo.ResetCanMove(); } if (this.Phe != VanCo.DanhDau.Phe) { if (VanCo.DanhDau.KiemTra(this.Hang, this.Cot) == 1 && VanCo.DanhDau.TuongAnToan(this.Hang, this.Cot) == 1) //Nếu nước đi hợp lệ { //Ghi thông tin nước đi vào GameLog VanCo.LuuVaoGameLog(sender, this); //Ăn quân cờ của đối phương VanCo.AnQuanCo(this); //Trả lại ô cờ trống VanCo.OCoTrong(VanCo.DanhDau.Hang, VanCo.DanhDau.Cot); //Thiết lập quân cờ đã chọn vào bàn cờ VanCo.DatQuanCo(sender, VanCo.DanhDau, this.Hang, this.Cot); //Tiếng động if (VanCo.AmThanh) { VanCo.ClickSound(VanCo.DanhDau.Ten); } //Kiểm tra chiếu tướng VanCo.KiemTraChieuTuong(); //Thay đổi lượt đi VanCo.DoiLuotDi(); //Kiểm tra quân Tướng của đối phương đã bị ăn chưa VanCo.KiemTraChieuBi(); if (VanCo.winner != 2) { VanCo.ThongBaoChieuTuong.Visible = false; VanCo.ChieuBi.Visible = true; } else { VanCo.ChieuBi.Visible = false; } BanCo.ResetCanMove(); } VanCo.Marked = false; if (VanCo.DanhDau.Phe == 0) { if (VanCo.DanhDau.Ten == "tuong") { VanCo.DanhDau.picQuanCo.Image = Board.Properties.Resources._1tuong; } if (VanCo.DanhDau.Ten == "sy") { VanCo.DanhDau.picQuanCo.Image = Board.Properties.Resources._1sy; } if (VanCo.DanhDau.Ten == "tinh") { VanCo.DanhDau.picQuanCo.Image = Board.Properties.Resources._1tinh; } if (VanCo.DanhDau.Ten == "xe") { VanCo.DanhDau.picQuanCo.Image = Board.Properties.Resources._1xe; } if (VanCo.DanhDau.Ten == "phao") { VanCo.DanhDau.picQuanCo.Image = Board.Properties.Resources._1phao; } if (VanCo.DanhDau.Ten == "ma") { VanCo.DanhDau.picQuanCo.Image = Board.Properties.Resources._1ma; } if (VanCo.DanhDau.Ten == "chot") { VanCo.DanhDau.picQuanCo.Image = Board.Properties.Resources._1chot; } } if (VanCo.DanhDau.Phe == 1) { if (VanCo.DanhDau.Ten == "tuong") { VanCo.DanhDau.picQuanCo.Image = Board.Properties.Resources._2tuong; } if (VanCo.DanhDau.Ten == "sy") { VanCo.DanhDau.picQuanCo.Image = Board.Properties.Resources._2sy; } if (VanCo.DanhDau.Ten == "tinh") { VanCo.DanhDau.picQuanCo.Image = Board.Properties.Resources._2tinh; } if (VanCo.DanhDau.Ten == "xe") { VanCo.DanhDau.picQuanCo.Image = Board.Properties.Resources._2xe; } if (VanCo.DanhDau.Ten == "phao") { VanCo.DanhDau.picQuanCo.Image = Board.Properties.Resources._2phao; } if (VanCo.DanhDau.Ten == "ma") { VanCo.DanhDau.picQuanCo.Image = Board.Properties.Resources._2ma; } if (VanCo.DanhDau.Ten == "chot") { VanCo.DanhDau.picQuanCo.Image = Board.Properties.Resources._2chot; } } BanCo.ResetCanMove(); } } break; case false: if (this.TrangThai == 1) { if (this.Khoa == false) { //Đánh dấu quân cờ được chọn VanCo.Marked = true; VanCo.DanhDau = new QuanCo(); VanCo.DanhDau = this; if (Phe == 0) { if (Ten == "tuong") { picQuanCo.Image = Board.Properties.Resources._1tuong_marked; } if (Ten == "sy") { picQuanCo.Image = Board.Properties.Resources._1sy_marked; } if (Ten == "tinh") { picQuanCo.Image = Board.Properties.Resources._1tinh_marked; } if (Ten == "xe") { picQuanCo.Image = Board.Properties.Resources._1xe_marked; } if (Ten == "phao") { picQuanCo.Image = Board.Properties.Resources._1phao_marked; } if (Ten == "ma") { picQuanCo.Image = Board.Properties.Resources._1ma_marked; } if (Ten == "chot") { picQuanCo.Image = Board.Properties.Resources._1chot_marked; } } if (Phe == 1) { if (Ten == "tuong") { picQuanCo.Image = Board.Properties.Resources._2tuong_marked; } if (Ten == "sy") { picQuanCo.Image = Board.Properties.Resources._2sy_marked; } if (Ten == "tinh") { picQuanCo.Image = Board.Properties.Resources._2tinh_marked; } if (Ten == "xe") { picQuanCo.Image = Board.Properties.Resources._2xe_marked; } if (Ten == "phao") { picQuanCo.Image = Board.Properties.Resources._2phao_marked; } if (Ten == "ma") { picQuanCo.Image = Board.Properties.Resources._2ma_marked; } if (Ten == "chot") { picQuanCo.Image = Board.Properties.Resources._2chot_marked; } } for (int i = 0; i <= 9; i++) { for (int j = 0; j <= 8; j++) { if (i != Hang || j != Cot) { if (this.KiemTra(i, j) == 1 && this.TuongAnToan(i, j) == 1) { BanCo.ViTri[i, j].CanMove.Visible = true; } } } } } } break; } } }
private void button1_Click(object sender, EventArgs e) { VanCo.Open(Application.StartupPath + "\\save\\" + Convert.ToString(listBox1.SelectedValue) + ".ccb"); VanCo.DangChoi = true; this.Close(); }