Computer >> Máy Tính >  >> Lập trình >> Python

Kiểm tra xem Nữ hoàng có thể tấn công một ô nhất định trên bàn cờ vua bằng Python hay không

Giả sử chúng ta có hai tọa độ trên bàn cờ vua và đối thủ. Các điểm này lần lượt là Q và O. Chúng ta phải kiểm tra xem nữ hoàng có thể tấn công đối thủ hay không. Như chúng ta biết rằng nữ hoàng có thể tấn công cùng hàng, cùng cột và theo đường chéo.

Vì vậy, nếu đầu vào là Q =(1, 1) O =(4, 4), thì đầu ra sẽ là Đúng vì Q có thể đi (4, 4) theo đường chéo.

Kiểm tra xem Nữ hoàng có thể tấn công một ô nhất định trên bàn cờ vua bằng Python hay không

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • nếu x của Q giống với x của O, thì
    • trả về True
  • nếu y của Q giống y của O thì
    • trả về True
  • nếu | x thuộc Q - x thuộc O | giống với | y của Q - y của O |, thì
    • trả về True
  • trả về Sai

Hãy cùng chúng tôi xem cách triển khai sau để 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