示例#1
0
 /* Trả lại một quân cờ bị loại khỏi bàn cờ */
 public static void TraLaiQuanCo(PictureBox ptbBanCo, ProgramConfig.RoundPictureBox quanCoCanTraLai)
 {
     if (quanCoCanTraLai != null)
     {
         Alive_QuanCo.Add(quanCoCanTraLai.Quan_Co);
         Alive_RoundPictureBox.Add(quanCoCanTraLai);
         ptbBanCo.Controls.Add(quanCoCanTraLai);
     }
 }
示例#2
0
 /* Xóa các RoundPictureBox quân cờ khỏi bàn cờ và danh sách quân cờ */
 public static void XoaBanCo(PictureBox ptbBanCo)
 {
     ptbBanCo.Controls.Clear();
     TuongXanh = null;
     TuongDo   = null;
     Alive_QuanCo.Clear();
     Alive_RoundPictureBox.Clear();
     NuocDiTruocDo.Clear();
 }
示例#3
0
 public static void LoaiBoQuanCo(Point viTri, PictureBox ptbBanCo)
 {
     QuanCoBiLoai = Alive_RoundPictureBox.Find(element => element.Quan_Co.Mau != PheDuocDanh && element.Quan_Co.ToaDo == viTri);
     if (QuanCoBiLoai != null)
     {
         ptbBanCo.Controls.Remove(QuanCoBiLoai);
         Alive_RoundPictureBox.Remove(QuanCoBiLoai);
         Alive_QuanCo.Remove(QuanCoBiLoai.Quan_Co);
     }
 }
示例#4
0
 /* Tính toán và hiển thị tất cả điểm đích của quân cờ được chọn */
 public static void HienThiDiemDich() // Vẽ các điểm đích của quân cờ đang được chọn
 {
     QuanCoDuocChon.Quan_Co.DanhSachDiemDich.Clear();
     QuanCoDuocChon.Quan_Co.TinhNuocDi();
     foreach (Point element in QuanCoDuocChon.Quan_Co.DanhSachDiemDich)
     {
         QuanCo target = Alive_QuanCo.Find(element1 => element1.Mau != QuanCoDuocChon.Quan_Co.Mau && element1.ToaDo == element);
         if (target != null)
         {
             DiemBanCo[element.X, element.Y].BackColor = Color.Red;
         }
         DiemBanCo[element.X, element.Y].Visible = true;
         DiemBanCo[element.X, element.Y].BringToFront();
     }
 }
示例#5
0
 public static bool CoChieuTuong(int pheChieuTuong)
 {
     foreach (QuanCo element in Alive_QuanCo)
     {
         if (element.Mau == pheChieuTuong)
         {
             element.DanhSachDiemDich.Clear();
             element.TinhNuocDi();
             foreach (Point element1 in element.DanhSachDiemDich)
             {
                 QuanCo target = Alive_QuanCo.Find(element2 => element2.Mau != pheChieuTuong && element2.ToaDo == element1);
                 if (target != null && (target == TuongXanh || target == TuongDo))
                 {
                     return(true);
                 }
             }
         }
     }
     return(false);
 }
示例#6
0
 public static QuanCo GetQuanCo(Point viTri) // tìm quân cờ tại điểm cho trước
 {
     return(Alive_QuanCo.Find(element => element.ToaDo == viTri));
 }
示例#7
0
        /* Phương thức dùng cho đối tượng QuanCo */

        public static bool CoQuanCoTaiDay(Point viTri) // kiểm tra xem có quân cờ nào tại điểm cho trước hay không
        {
            return(Alive_QuanCo.Find(element => element.ToaDo == viTri) != null);
        }