Example #1
0
        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();
        }
Example #2
0
        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();
        }
Example #4
0
        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);
            }
        }
Example #5
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);
            }
        }
Example #6
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);
            }
        }
Example #7
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");
            }
        }
Example #8
0
        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);
            }
        }
Example #9
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;
                }
            }
        }
Example #10
0
 private void button1_Click(object sender, EventArgs e)
 {
     VanCo.Open(Application.StartupPath + "\\save\\" + Convert.ToString(listBox1.SelectedValue) + ".ccb");
     VanCo.DangChoi = true;
     this.Close();
 }