/* 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); } }
/* 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(); }
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); } }
/* 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(); } }
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); }
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)); }
/* 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); }