Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Kiểm tra xem Hậu có thể tấn công ô cho trước trên bàn cờ hay không trong Python


Giả sử chúng ta có hai tọa độ trên bàn cờ cho Hậu (Queen) và đối thủ (Opponent). Các điểm là Q và O. Cần kiểm tra xem Hậu có thể tấn công đối thủ hay không. Hậu tấn công cùng hàng, cùng cột và đường chéo.

Ví dụ, Q = (1, 1), O = (4, 4), đầu ra True vì Hậu đi chéo đến (4, 4).

Các bước giải quyết:

  • Nếu x của Q == x của O, trả về True (cùng cột).
  • Nếu y của Q == y của O, trả về True (cùng hàng).
  • Nếu |x_Q - x_O| == |y_Q - y_O|, trả về True (đường chéo).
  • Trả về False.

Xem ví dụ dưới đây để hiểu rõ hơn:

Ví dụ

def solve(Q, O):
    if Q[0] == O[0]:
        return True
    if Q[1] == O[1]:
        return True
    if abs(Q[0] - O[0]) == abs(Q[1] - O[1]):
        return True
    return False

Q = (1, 1)
O = (4, 4)
print(solve(Q, O))

Đầu vào

(1, 1), (4, 4)

Đầu ra

True