در شطرنج، ملکه میتواند هر تعداد خانه به صورت افقی، عمودی یا مورب حرکت کند.
با توجه به موقعیت ملکه شما و ملکه حریف، بررسی کنید که آیا ملکه شما میتواند ملکه حریف را بگیرد یا خیر. موقعیت ملکه شما و حریف به ترتیب به عنوان اولین و دومین عنصر لیستی داده میشود.
مثال
can_capture(["A1", "H8"]) ➞ True
# ملکه شما میتواند به صورت مورب به موقعیت ملکه حریف برسد.
can_capture(["A1", "C2"]) ➞ False
# ملکه شما نمیتواند به C2 از موقعیت A1 برسد (هرچند یک اسب میتوانست).
نمونه ورودی و خروجی
CanCapture(["A1", "H8"]) ➞ True
CanCapture(["A1", "C2"]) ➞ False
CanCapture(["G3", "E5"]) ➞ True
نکات
- فرض کنید هیچ مهرهی دیگری برای مسدود کردن مسیر ملکهها وجود ندارد.
- موقعیتها در فرمت شطرنجی استاندارد داده شدهاند (مانند
A1
،C2
).
Assert.True(Backendbaz.CanCapture(new string[] { "A1", "H8" })); Assert.False(Backendbaz.CanCapture(new string[] { "A1", "C2" })); Assert.True(Backendbaz.CanCapture(new string[] { "G3", "E5" })); Assert.True(Backendbaz.CanCapture(new string[] { "D3", "C2" })); Assert.True(Backendbaz.CanCapture(new string[] { "F4", "C1" })); Assert.False(Backendbaz.CanCapture(new string[] { "H1", "A7" })); Assert.False(Backendbaz.CanCapture(new string[] { "A5", "E2" }));
نظرات