Tại sao en passant chỉ có thể vào cơ hội đầu tiên?


7

Trích dẫn quy tắc FIDE :

Việc bắt giữ này chỉ hợp pháp khi di chuyển theo tiến bộ này và được gọi là bắt giữ 'en passant'.

Trích dẫn Wikipedia :

Việc bắt en passant phải được thực hiện ở lượt tiếp theo hoặc quyền làm như vậy bị mất.

Tại sao?


Tôi biết câu chuyện cơ bản về en passant và tôi sẽ chỉ diễn giải nó ở đây: Một quy tắc đã được thêm vào để cho những con tốt di chuyển hai hình vuông về phía trước trong lần di chuyển đầu tiên. Ai đó đã nói một cái gì đó như, điều gì sẽ xảy ra nếu một con tốt sử dụng thứ này để trốn thoát khỏi một con tốt bên cạnh kẻ thù? Sau đó, khung / khung cầm đồ cơ bản sẽ được thay đổi! Vì vậy, chúng ta phải có một en passant để bảo vệ cùng một khung cờ.

Được rồi, phần đó có ý nghĩa, nhưng tại sao nó phải ở bước tiếp theo? Là một phần của quy tắc chỉ được thêm vào sau này? Tại sao nó được thêm vào? Khi hai con tốt nằm cạnh nhau theo đường chéo đối diện nhau, chúng không phải bắt ngay lập tức nếu không sẽ mất khả năng bắt. Vì vậy, khái niệm "cầm đồ ma", nếu bạn không bắt được nó ngay lập tức và người chơi khác không di chuyển nó, dường như tôi vẫn nên ở đó và sẵn sàng để chụp miễn là nó ở đó.

Có ai biết tại sao phần này của en passant được tạo ra không?


Nền tùy chọn: Trong trường hợp bạn tò mò, tôi đến từ nền tảng lập trình. Trong tất cả các động tác đặc biệt, en passant là (đã, xem bên dưới) là khó nhất để lập trình. Đây không chỉ là động tác duy nhất mà mảnh chụp bắt được di chuyển đến một ô vuông trống, mà đó là động tác duy nhất "biến mất" nếu bạn không thực hiện. Điều đó có nghĩa là đó là một động thái trong đó tổng vị trí bảng không đủ thông tin để tạo ra tất cả các di chuyển. (Đó là đúng đối với castling quá, mà đã có chia sẻ công bằng của luật lệ phức tạp.) Hai con cờ của đối phương có thể tiếp giáp vào ngày 4 hoặc thứ hạng thứ 5, được bao bọc bởi các ô vuông trống, nhưng bạn vẫn không biết nếu en passant là có thể. Bạn phải kiểm tra di chuyển trước đó.

Hay tôi nghĩ vậy. Bây giờ tôi đang xem lại điều này, tôi đã tìm ra một cách thông minh để thực hiện en passant mà không cần kiểm tra nhật ký di chuyển. Đừng tạo ra nó khi bắt đầu. Tạo nó tại move_take, cụ thể là vào cuối bước di chuyển 2 bước. Nhưng lưu trữ nó trong một mảng di chuyển đặc biệt vì cái bình thường sẽ bị xóa ở mỗi inc_turn. Sau đó di chuyển và xóa một cách thích hợp tại gen_all_move. Theo cách đó, nếu ep không được thực hiện, nó sẽ không tự tạo ra bước di chuyển tiếp theo bởi vì bạn đã không di chuyển cùng một bước cầm đồ ở bước tiếp theo. Chỉ cần nhớ kiểm tra cả hai mặt của con tốt và tạo hai ep ep nếu có hai con tốt của kẻ thù ở đó.

Castling đã được thực hiện với sự trợ giúp của boolean "di chuyển" trong mỗi phần, điều này cũng hữu ích cho việc di chuyển đầu tiên của một con tốt. Ngay cả khi King và Rook ở đúng vị trí, bạn sử dụng nó để xem liệu King / Rook đã di chuyển trước đó chưa. Không cần kiểm tra nhật ký di chuyển. Nhưng tôi sẽ nói rằng Castling hiện là động thái khó thực hiện nhất vì bạn phải kiểm tra xem đường dẫn có bị tấn công hay không. En passant không còn là khó nhất bây giờ mà tôi nghĩ về cách thông minh.


4
" Đó là động thái duy nhất trong đó tổng vị trí bảng không đủ thông tin để tạo ra tất cả các bước di chuyển " Điều đó cũng sẽ áp dụng cho việc ném đá: Nếu nhà vua hoặc tân binh tương ứng di chuyển trong trò chơi và trở về quảng trường ban đầu, bạn không được phép vào lâu đài.
dùng1583209

1
@ user1583209 À đúng rồi. Tôi nên kiểm tra tất cả các trò chơi cờ của tôi cho lỗi đó.
DrZ214

2
Tùy thuộc vào những gì bạn đang lập trình, bạn cũng cần quan tâm đến việc lặp lại ba lần và 50 quy tắc di chuyển không rõ ràng từ vị trí bảng.
dùng1583209

1
Ký hiệu Forsyth-Edwards (FEN) thường được sử dụng cho một vị trí cờ bao gồm việc có hay không người qua đường và / hoặc ném bóng là hợp pháp ở vị trí đó. Hội đồng quản trị có thể không đủ thông tin, nhưng là một FEN. vi.wikipedia.org/wiki/Forsyth%E2%80%93Edwards_Notation
Ghotir

1
Nó khá rõ ràng trong lịch sử bước đôi ban đầu là một đôi di chuyển . Tôi nghĩ rằng điều này giải thích logic đằng sau quy tắc en passant.
Dag Oskar Madsen

Câu trả lời:


8

OP yêu cầu tôi cung cấp các nguồn hỗ trợ cho tuyên bố rằng bước kép ban đầu là một bước đi kép . Tôi sẽ cố hết sức.

Tiền thân trực tiếp của cờ vua hiện đại, trò chơi Shatranj , đã có những con tốt ( sarbaz ), nhưng không có bước kép. Các quân cờ trong Shartanj có sức mạnh tương đối yếu, và lối chơi, đặc biệt là trong phần mở đầu, nhìn chung rất chậm.

Trong thời trung cổ, họ đã giải quyết vấn đề này bằng cách bắt đầu trò chơi từ một số tabiyas nhất định , mảng chiến đấu nơi các lực lượng đối lập đã tiếp xúc.

Một phát minh gần đây của phương Tây để tăng tốc độ chơi là cho phép các bước di chuyển ban đầu gấp đôi. Từ một lịch sử ngắn về cờ vua của Henry A. Davidson, Chương 7:

Di chuyển kép ban đầu . Mãi đến năm 1550, người cầm đồ mới tận hưởng sức mạnh của việc di chuyển hai hình vuông cho bước di chuyển đầu tiên của mình. Lý do cho việc áp dụng quy tắc cuối cùng chỉ đơn giản là các lỗ mở đã trở thành quy ước. Trắng chuyển P sang K3 [ e3]; Đen cũng vậy. Sau đó, mỗi người đẩy con tốt lên một hình vuông. Vì đây là cách mở thông thường, nên cách thức hiện đại cho phép cả hai di chuyển cùng một lúc, do đó tăng tốc trò chơi, đã được giới thiệu. Như một vấn đề của thực tế, đặc quyền cầm đồ này là đặc quyền cuối cùng, không phải là lần đầu tiên, trong một loạt các đặc quyền di chuyển liên tiếp đặc biệt.

Davidson sau đó thảo luận rất ngắn gọn về các quy tắc di chuyển liên tiếp trong các phiên bản trước của cờ vua.

Đôi khi cũng có một tùy chọn để di chuyển hai con tốt khác nhau đồng thời mỗi bước một bước. Trích dẫn từ cùng một cuốn sách:

Trong thế kỷ thứ mười bảy, một quy ước đã có hiệu lực cho phép người chơi mở một trò chơi bằng cách di chuyển đồng thời cả hai con ngựa của một tân binh. [...] Có lẽ ý tưởng là việc di chuyển hai con tốt mỗi một hình vuông tương đương với việc di chuyển một con tốt hai hình vuông.

Tôi nghĩ bối cảnh lịch sử này cung cấp một số lý do cho lý do tại sao quy tắc en passant được đưa ra. Nếu bước kép thực sự là một bước di chuyển kép, thì thật hợp lý khi đối thủ nên có cơ hội (ở bước tiếp theo) để bắt được con tốt sau bước đầu tiên. (Xem thêm câu trả lời của Brian Towers.)


"Một bước mỗi bước với hai con tốt" có nghĩa là gì?
DrZ214

Tôi hy vọng nó có ý nghĩa hơn bây giờ. Hãy để tôi cố gắng tìm một trích dẫn trực tiếp từ cuốn sách.
Dag Oskar Madsen

À, ý bạn là 2 con tốt có thể di chuyển đồng thời trên cùng một lượt, nhưng mỗi bước chỉ có 1 bước? Điều đó sẽ cực kỳ triệt để trong bối cảnh ngày nay, hơn rất nhiều so với người đi đường kỳ lạ .
DrZ214

Vâng, đó là những gì tôi muốn nói. Toàn bộ lập luận của tôi là trong trò chơi trước đó, những con tốt của Shatranj chỉ có thể di chuyển một bước, và bước kép chúng ta có trong cờ vua hiện đại là thông qua sự tiến hóa của trò chơi thực sự là hai bước cầm đồ của Shatranj liên tiếp. Tôi sẽ quay lại với dấu ngoặc kép khi tôi tìm thấy chúng.
Dag Oskar Madsen


8

Một con tốt mà 'phơi bày' bản thân với en passant sẽ khác với một con không. Giả sử, đối với một con tốt màu đen trên a4 và một con tốt màu trắng trên b4: cho màu đen tùy chọn chơi ... axb3 bất cứ lúc nào sau b2-b4 có nghĩa là các di chuyển b2-b4 và b3-b4, dường như dẫn đến cùng vị trí, có ý nghĩa lâu dài vì nó phụ thuộc quá nhiều vào quá khứ. Đặc biệt, khi cầm đồ đứng trên b2, màu trắng sẽ cần cân nhắc những ưu và nhược điểm của việc di chuyển cầm đồ của anh ta lên b4 trong một hoặc hai lần di chuyển (trong đó con lừa có quyền đen lâu dài để nhận b3).

Hoặc, theo tinh thần động lực của en passant mà bạn mô tả chính xác, việc dừng vĩnh viễn một con tốt hai ô vuông từ 'thoát' sẽ bỏ qua rất nhiều (hoặc làm phức tạp) lợi ích của việc có thể di chuyển hai hình vuông về phía trước.

Một lý do thực tế khác bởi vì nó đơn giản hơn nhiều đối với con người: với hơn một con tốt trên bảng, sẽ rất phức tạp để theo dõi các quyền của người thụ hưởng đối với tất cả chúng. (Ai đó đã từng đề nghị rằng các mảnh có thể bắt được người qua đường trong một cuộc họp FIDE; không cần phải nói, nó đã bị cười ra khỏi phòng --- nói rằng, tôi không thể nhớ lại nguồn gốc của câu chuyện này.)

Người ta có thể hỏi một câu hỏi tương tự (ngược lại?) Về quyền đúc; tùy chọn 'đơn giản hơn' có thể được cho là luôn luôn cho phép sử dụng lâu dài miễn là các mảnh quay trở lại hình vuông ban đầu của chúng, nhưng điều đó cũng có ý nghĩa mạnh mẽ, một trong số đó là giảm tầm quan trọng của sự phát triển.

Nói chung, các nước cờ đặc biệt trong cờ vua có những hạn chế liên quan đến chúng để đảm bảo rằng chúng không thay đổi cách trò chơi 'trông' sau khi các nước cờ đặc biệt này được thực hiện (chơi ... axb3 để cầm đồ trắng trên b4 trông hoàn toàn Không giống như trò chơi cũ, vì vậy nó chỉ được phép cho một lần di chuyển). Rốt cuộc, các quy tắc được thiết kế bởi con người, được cho là tùy tiện.


4

Lý do rất đơn giản. Nếu màu trắng có một con tốt trên d5 ngăn không cho một con tốt màu đen trên e7 di chuyển thì di chuyển e7-e5 cắt ngang đó. Để giữ cho mọi thứ công bằng khi bước di chuyển đầu tiên được đưa ra, quy tắc en passant cũng được đưa ra để màu trắng sẽ không mất khả năng bắt giữ. Tuy nhiên, quay trở lại thời kỳ di chuyển trước gấp đôi nếu màu đen chơi e7-e6 và màu trắng không bắt được ngay lập tức thì màu đen có thể chơi e6-e5 trong lần di chuyển tiếp theo và màu trắng đã mất cơ hội mãi mãi. Điều đó được phản ánh trong sự hạn chế của en passant đối với việc di chuyển ngay sau động thái cầm đồ kép.


Điều này có được hỗ trợ bởi các nguồn?
dùng1583209

Khi bạn nói "di chuyển cầm đồ kép", bạn có nghĩa là chỉ cần di chuyển 2 hình vuông? hoặc thực hiện hai động tác ngay lập tức? Nếu sau này, điều đó sẽ giải thích mọi thứ, nhưng tôi luôn nghĩ rằng con tốt là có phạm vi 2 thay vì thực hiện hai động tác trong một. Nếu bạn có thể tìm thấy một nguồn, xin vui lòng gửi nó.
DrZ214

3

Câu hỏi thú vị, mặc dù tôi không chắc có một câu trả lời hay có thể được hỗ trợ bởi các nguồn. Tôi có thể nghĩ về những động lực sau đây:

  1. Nếu bạn tưởng tượng những con tốt của bạn là "quân đội" thực sự, thì nếu một đội quân vượt qua bạn với tốc độ cao (bước kép), bạn cần phải hành động ngay lập tức (nếu bạn muốn làm như vậy) và không thể đợi trước khi quân đội kia ở xa .
  2. Tính thực tiễn. Theo dõi tất cả các vụ bắt giữ có thể xảy ra có thể trở nên khó khăn. Điều gì sẽ xảy ra nếu một hoặc cả hai con tốt liên quan được thay thế bằng một con tốt khác cùng màu ...
  3. Trong cờ vua, nếu một quân cờ tấn công một quân cờ cùng loại, quân cờ kia đồng thời tấn công quân cờ đầu tiên. Với enant không xác định, bạn sẽ tạo ra sự bất đối xứng trong đó một con tốt có thể bắt được một con tốt khác nhưng không phải ngược lại.
  4. Không xác định en passant sẽ là một thay đổi quá lớn đối với trò chơi như đã biết trước khi giới thiệu en passant.
  5. (xem câu trả lời của Ken Wei): Với một con tốt màu đen trên a4 và một con tốt màu trắng trên b2. Bạn cần so sánh tùy chọn chơi b2-b3-b4 trong hai lần di chuyển (sẽ làm bạn mất nhịp) với bước kép (sẽ khiến bạn gặp nguy hiểm khi bị bắt vô thời hạn).

Cảm ơn bạn, tôi không hiểu đoạn đầu tiên của Ken Wei cho đến khi bạn giải thích nó. Nguy hiểm vô hạn của việc bắt giữ. Toàn bộ kinh doanh ep này thêm nhiều thứ khó khăn hơn nhiều so với mắt.
DrZ214

1

Mô tả lập trình của bạn dựa vào tên biến cụ thể cho chương trình của bạn, vì vậy thật khó để hiểu bạn đang nói gì, nhưng một cách để lập trình điều này là để có một boolean "di chuyển kép". Để làm cho mọi thứ đơn giản hơn, hãy giả sử rằng màu trắng là một trong những bước di chuyển gấp đôi. Để di chuyển một không gian cầm đồ hai, trắng di chuyển đầu tiên cầm đồ mộtkhông gian và đặt boolean "di chuyển kép" của con tốt thành đúng. Nếu bất kỳ con tốt nào của đối thủ có booleans "di chuyển kép" thực sự, thì chúng chỉ có hai lựa chọn: lấy hoặc vượt qua. Vì vậy, bây giờ màu đen chỉ có hai di chuyển hợp pháp (ba nếu hai con tốt liền kề nhau). Đen có thể chụp cầm đồ, hoặc vượt qua. Nếu màu đen đi qua, bây giờ đến lượt của màu trắng. Nhưng nếu người chơi bắt đầu lượt của mình với boolean "di chuyển kép" là đúng với bất kỳ con tốt nào của họ, họ sẽ không được phép thực hiện bất kỳ động thái nào ngoài việc tiến lên cầm đồ đó, và sau đó boolean được đặt thành false. Nếu màu đen bắt được con tốt, thì boolean được đặt thành false và giờ đến lượt màu trắng.

Nói cách khác, bạn có thể nghĩ rằng en passant không phải là màu trắng làm cho một chuyển động bao gồm cầm đồ di chuyển hai không gian, và sau đó màu đen chỉ có tùy chọn en passant trong lần di chuyển tiếp theo, mà thay vào đó, màu trắng tạo ra một bước di chuyển bao gồm cầm đồ di chuyển một không gian, màu đen tạo ra một động tác bao gồm bắt giữ con tốt đó hoặc đi qua, và sau đó, nếu con tốt vẫn còn trên bảng, màu trắng tạo ra một động thái tiến lên cầm đồ một lần nữa. Các en passant tùy chọn chỉ tồn tại cho việc di chuyển trung gian (mà trong đó một trong hai ảnh chụp đen hoặc đèo) vì đó là chỉ di chuyển nơi cầm đồ là ở vị trí bên phải để được chụp.

Tuy nhiên, có một trường hợp góc được trình bày ở đây: https://www.futilitycloset.com/2010/06/09/intercepted/ . Vì en passant hiện đang được triển khai, nên việc di chuyển kép là điều hợp pháp nếu các vị vua của bạn không kiểm tra sau lần thăng tiến thứ hai, ngay cả khi vua của bạn đang kiểm tra sau khi cầm đồ chỉ tiến lên một khoảng trống. Vì vậy, mã của bạn sẽ phải tính đến điều đó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.