Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ตรวจสอบว่าราชินีสามารถโจมตีเซลล์ที่กำหนดบนกระดานหมากรุกใน Python ได้หรือไม่


สมมติว่าเรามีพิกัดสองอันบนกระดานหมากรุกสำหรับราชินีและคู่ต่อสู้ จุดเหล่านี้คือ Q และ O ตามลำดับ เราต้องตรวจสอบว่าราชินีสามารถโจมตีคู่ต่อสู้ได้หรือไม่ อย่างที่เราทราบดีว่าราชินีสามารถโจมตีในแถวเดียวกัน แนวเดียวกัน และแนวทแยงได้

ดังนั้น หากอินพุตเป็นเหมือน Q =(1, 1) O =(4, 4) เอาต์พุตจะเป็น True เนื่องจาก Q สามารถไป (4, 4) ในแนวทแยงได้

ตรวจสอบว่าราชินีสามารถโจมตีเซลล์ที่กำหนดบนกระดานหมากรุกใน Python ได้หรือไม่

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • ถ้า x ของ Q เหมือนกับ x ของ O แล้ว
    • คืนค่า True
  • ถ้า y ของ Q เหมือนกับ y ของ O แล้ว
    • คืนค่า True
  • ถ้า |x ของ Q - x ของ O| เหมือนกับ |y ของ Q - y ของ O| แล้ว
    • คืนค่า True
  • คืนค่าเท็จ

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

ตัวอย่าง

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))

อินพุต

(1, 1), (4, 4)

ผลลัพธ์

True