public override void TinhNuocDi() { Point toaDoMucTieu; QuanCo quanCoMucTieu; toaDoMucTieu = new Point(ToaDo.X + 1, ToaDo.Y); if (NamTrongCung(toaDoMucTieu)) { if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } } toaDoMucTieu = new Point(ToaDo.X - 1, ToaDo.Y); if (NamTrongCung(toaDoMucTieu)) { if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } } toaDoMucTieu = new Point(ToaDo.X, ToaDo.Y + 1); if (NamTrongCung(toaDoMucTieu)) { if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } } toaDoMucTieu = new Point(ToaDo.X, ToaDo.Y - 1); if (NamTrongCung(toaDoMucTieu)) { if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } } }
public override void TinhNuocDi() { Point diemCan; Point toaDoMucTieu; QuanCo quanCoMucTieu; // Xét điểm cản (ToaDo.X - 1, ToaDo.Y - 1) diemCan = new Point(ToaDo.X - 1, ToaDo.Y - 1); if (NamTrongNuaBanCo(diemCan) && !BanCo.CoQuanCoTaiDay(diemCan)) { toaDoMucTieu = new Point(ToaDo.X - 2, ToaDo.Y - 2); if (NamTrongNuaBanCo(toaDoMucTieu)) { if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } } } // Xét điểm cản (ToaDo.X - 1, ToaDo.Y + 1) diemCan = new Point(ToaDo.X - 1, ToaDo.Y + 1); if (NamTrongNuaBanCo(diemCan) && !BanCo.CoQuanCoTaiDay(diemCan)) { toaDoMucTieu = new Point(ToaDo.X - 2, ToaDo.Y + 2); if (NamTrongNuaBanCo(toaDoMucTieu)) { if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } } } // Xét điểm cản (ToaDo.X + 1, ToaDo.Y - 1) diemCan = new Point(ToaDo.X + 1, ToaDo.Y - 1); if (NamTrongNuaBanCo(diemCan) && !BanCo.CoQuanCoTaiDay(diemCan)) { toaDoMucTieu = new Point(ToaDo.X + 2, ToaDo.Y - 2); if (NamTrongNuaBanCo(toaDoMucTieu)) { if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } } } // Xét điểm cản (ToaDo.X + 1, ToaDo.Y + 1) diemCan = new Point(ToaDo.X + 1, ToaDo.Y + 1); if (NamTrongNuaBanCo(diemCan) && !BanCo.CoQuanCoTaiDay(diemCan)) { toaDoMucTieu = new Point(ToaDo.X + 2, ToaDo.Y + 2); if (NamTrongNuaBanCo(toaDoMucTieu)) { if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } } } }
public override void TinhNuocDi() { Point toaDoMucTieu; QuanCo quanCoMucTieu; /* Xét nhánh các điểm đích BÊN TRÁI quân pháo */ for (int x = ToaDo.X - 1; x >= 0; x--) { toaDoMucTieu = new Point(x, ToaDo.Y); if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { for (x -= 1; x >= 0; x--) { toaDoMucTieu = new Point(x, ToaDo.Y); if (BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } break; } } break; } } /* Xét nhánh các điểm đích BÊN PHẢI quân pháo */ for (int x = ToaDo.X + 1; x < 9; x++) { toaDoMucTieu = new Point(x, ToaDo.Y); if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { for (x += 1; x < 9; x++) { toaDoMucTieu = new Point(x, ToaDo.Y); if (BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } break; } } break; } } /* Xét nhánh các điểm đích BÊN TRÊN quân pháo */ for (int y = ToaDo.Y - 1; y >= 0; y--) { toaDoMucTieu = new Point(ToaDo.X, y); if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { for (y -= 1; y >= 0; y--) { toaDoMucTieu = new Point(ToaDo.X, y); if (BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } break; } } break; } } /* Xét nhánh các điểm đích BÊN DƯỚI quân pháo */ for (int y = ToaDo.Y + 1; y < 10; y++) { toaDoMucTieu = new Point(ToaDo.X, y); if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { for (y += 1; y < 10; y++) { toaDoMucTieu = new Point(ToaDo.X, y); if (BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } break; } } break; } } }
public override void TinhNuocDi() { Point toaDoMucTieu; QuanCo quanCoMucTieu; if (BanCo.MauPheTa == 2) { if (Mau == 1) { if (ToaDo == new Point(3, 0) || ToaDo == new Point(5, 0) || ToaDo == new Point(3, 2) || ToaDo == new Point(5, 2)) { toaDoMucTieu = new Point(4, 1); if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } } else if (ToaDo == new Point(4, 1)) { toaDoMucTieu = new Point(3, 0); if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } toaDoMucTieu = new Point(5, 0); if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } toaDoMucTieu = new Point(3, 2); if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } toaDoMucTieu = new Point(5, 2); if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } } } else if (Mau == 2) { if (ToaDo == new Point(3, 9) || ToaDo == new Point(5, 9) || ToaDo == new Point(3, 7) || ToaDo == new Point(5, 7)) { toaDoMucTieu = new Point(4, 8); if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } } else if (ToaDo == new Point(4, 8)) { toaDoMucTieu = new Point(3, 9);// if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } toaDoMucTieu = new Point(5, 9);// if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } toaDoMucTieu = new Point(3, 7);// if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } toaDoMucTieu = new Point(5, 7);// if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } } } } else if (BanCo.MauPheTa == 1) { if (Mau == 2) { if (ToaDo == new Point(3, 0) || ToaDo == new Point(5, 0) || ToaDo == new Point(3, 2) || ToaDo == new Point(5, 2)) { toaDoMucTieu = new Point(4, 1); if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } } else if (ToaDo == new Point(4, 1)) { toaDoMucTieu = new Point(3, 0); if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } toaDoMucTieu = new Point(5, 0); if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } toaDoMucTieu = new Point(3, 2); if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } toaDoMucTieu = new Point(5, 2); if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } } } else if (Mau == 1) { if (ToaDo == new Point(3, 9) || ToaDo == new Point(5, 9) || ToaDo == new Point(3, 7) || ToaDo == new Point(5, 7)) { toaDoMucTieu = new Point(4, 8); if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } } else if (ToaDo == new Point(4, 8)) { toaDoMucTieu = new Point(3, 9);// if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } toaDoMucTieu = new Point(5, 9);// if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } toaDoMucTieu = new Point(3, 7);// if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } toaDoMucTieu = new Point(5, 7);// if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } } } } }
public override void TinhNuocDi() { Point toaDoMucTieu = ThongSo.ToaDoNULL; QuanCo quanCoMucTieu; if (BanCo.MauPheTa == 2) { if (Mau == 1) { toaDoMucTieu = new Point(ToaDo.X, ToaDo.Y + 1); } else if (Mau == 2) { toaDoMucTieu = new Point(ToaDo.X, ToaDo.Y - 1); } } else if (BanCo.MauPheTa == 1) { if (Mau == 2) { toaDoMucTieu = new Point(ToaDo.X, ToaDo.Y + 1); } else if (Mau == 1) { toaDoMucTieu = new Point(ToaDo.X, ToaDo.Y - 1); } } if (NamTrongBanCo(toaDoMucTieu)) { if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } } if (QuaSong()) { if (BanCo.MauPheTa == 2) { if (Mau == 1) { if (NamTrongBanCo(toaDoMucTieu)) { toaDoMucTieu = new Point(ToaDo.X, ToaDo.Y + 1); if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } } } else if (Mau == 2) { toaDoMucTieu = new Point(ToaDo.X, ToaDo.Y - 1); if (NamTrongBanCo(toaDoMucTieu)) { if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } } } } else if (BanCo.MauPheTa == 1) { if (Mau == 2) { if (NamTrongBanCo(toaDoMucTieu)) { toaDoMucTieu = new Point(ToaDo.X, ToaDo.Y + 1); if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } } } else if (Mau == 1) { toaDoMucTieu = new Point(ToaDo.X, ToaDo.Y - 1); if (NamTrongBanCo(toaDoMucTieu)) { if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } } } } toaDoMucTieu = new Point(ToaDo.X - 1, ToaDo.Y); if (NamTrongBanCo(toaDoMucTieu)) { if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } } toaDoMucTieu = new Point(ToaDo.X + 1, ToaDo.Y); if (NamTrongBanCo(toaDoMucTieu)) { if (!BanCo.CoQuanCoTaiDay(toaDoMucTieu)) { DanhSachDiemDich.Add(toaDoMucTieu); } else { quanCoMucTieu = BanCo.GetQuanCo(toaDoMucTieu); if (quanCoMucTieu.Mau != this.Mau) { DanhSachDiemDich.Add(toaDoMucTieu); } } } } }