4

I am writing a simple chess game in which I have to determine the end game conditions. My algorithm requires the piece that is putting the opponent king in check, and checks the following:

  • King cannot escape
  • Piece cannot be eliminated
  • Path cannot be blocked

If all three conditions satisfy, then it is checkmate. However, I am wondering if there can be more than one piece simultaneously putting a king in check. It doesn't seem to be possible, but I can't come up with a proof for it. For example, is it possible for 2 rooks to put a king in check at the same time? Personally, I don't think that it's possible.

  • It is not possible with two rooks (or any two pieces of the same kind) because the two pieces have to move differenty. The first has to block the second in the beginning and after that needs to give check himself, as is explained in the answer. – chaosflaws Feb 5 '16 at 8:59
19

Double check is a fine tactic. An example would be a bishop lined up on the same diagonal as the king with a rook or knight in the way blocking the check. The rook or knight moves giving check to the king and also uncovering the check from the bishop. The king must move since there is no way to block two different lines or take two different pieces at the same time.

0

Just as a note of interest here, it actually IS possible to be in a double check from two rooks or two queens.

The secret? Promotion!

Here's an example. The rook could be replaced by a aueen, and the pawn can promote to a rook or queen in either case to produce an abnormal double check.

[FEN "4b3/2RPk3/8/4K3/8/8/8/8 w KQkq - 0 1"]

For fun, here's the fastest possible double checkmate via promotions.

[FEN "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"]
3

For the purposes of writing an algorithm, I don't think I would approach it that way at all.

On any given ply, you generate a list of legal moves to investigate. A move is illegal if, in the resulting position, your king is in check. If there are no legal moves, and the king is currently in check, then it's checkmate.

You don't need an algorithm to figure out whether a check can be blocked or whether the checking piece can be eliminated, or any other scenarios. The lack of any legal moves in the position indicates that already.

-4

In standard chess, you can illegally can check a king 8 times at once. Consider 8 knights a that are leap away from the enemy king.

[FEN "4k3/8/3n1n2/2n3n1/4K3/2n3n1/3n1n2/8 w - - 0 1"]

The king still has his orthogonal moves left, and is now 1 move away from attacking 2 of the knights. Since both of them are unprotected, one of the 8 knights may move to where the king was, to protect all 7 other knights. The King is not necessarily trapped, but certainly not free.

  • 3
    I don't understand what you are trying to say. This question is about multiple checks, i.e. the king is attacked by more than one piece at the same time. The scenario you describe (8 knights attacking a king) is impossible to reach in standard chess. – user1583209 Nov 21 '16 at 20:51
  • 1
    I DID SAY IT IS IMPRACTICAL! a, and b: I gave a scenario that, although impractical to attain in standard chess, is a counter example of the question. – Garrison Pendergrass Nov 22 '16 at 13:50
  • maybe post a diagram of whatever you are trying to say. – cascading-style Nov 24 '16 at 0:26
  • I got a diagram added in! – Rewan Demontay Aug 3 at 19:55
  • 1
    @RewanDemontay That isnt impractical, it is an illegal position. If the white king is already in check, it must move immediately - it can't wait 7 more moves for the rest of the knights to get in place. – Grade 'Eh' Bacon Aug 9 at 14:12
3

If you consider Chinese chess (Xiang Qi), then technically even triple check is possible. Imgaine the enemy king, your knight or bishop, your rook and your cannon all in line in that order. Then if the knight or bishop can move away to give check it is a triple check. Another difference is that a double check by rook and cannon on the same line could be blocked in one move, so even though technically it is a triple check, because the cannon can leap over the rook, it seems more similar to a double check with respect to blocking.

  • 2
    In chess variants that have extra types of pieces like knightriders, triple check is also possible using an en passant capture, because it vacates two squares at the same time. In a position where White has Kd2, e2, and Black has Kd8, Rd7, d4, and a knightrider on f6, White is in check, and moves 1.e4 blocking the knightrider's attack. Black then moves 1… dxe3 giving check with the pawn, as well as uncovering checks from the knightrider and the rook at the same time. – Jivan Scarano Jun 12 '16 at 5:40
  • what is a knightrider?? – cascading-style Nov 24 '16 at 0:25
  • A knightrider is a knight that can keep jumping in the same direction as its first knight-jump, similar to how bishop and rook can move as far as they want (and is allowed) in four fixed directions, but cannot change direction mid-move. – hkBst Nov 24 '16 at 11:44
  • It is also possible to quadruple-check in Chinese chess – David Ni Apr 8 '18 at 14:54
  • @DavidNi I’m quite curious - is there an example of such move? – Derek 朕會功夫 May 16 at 15:56
2

The King can be checked by multiple pieces via a double check tactic. Consider the following position:

White Queen on g4, White Rook on f5, Black King on d7.

White plays 1. Rf7+, and Black's King is checked by both White's Rook and Queen.

For your algorithm, it would be checkmate if BOTH pieces cannot be blocked, taken, avoided, etc. Consider the following:

  1. e4 e6 2. Nc3 d5 3. exd5 exd5 4.d3 d4 5. Ne4 Nc6 6. Qe2 Bg4 7. Nf6#

The final position is a double check and checkmate. Notice how both White's Queen and Knight can be taken or avoided, if you consider them individually. However, they cannot BOTH be taken/avoided/blocked, so Black is checkmated.

7

If you include a pawn that has just been promoted to a rook, then yes, it is quite possible to give check with two rooks simultaneously.
Consider the position where White has Ke1 Re6 e7 g7, and Black has Ke8 Nf8. White moves 1. exf8(R)++ and gives check with the newly promoted rook as well as the existing rook.
Checkmate could also be given in this way if, for example, White had a queen on g7 instead of a pawn.

4

Double check is possible.

One piece must move to deliver a check, while simultaneously allowing another piece to give check that had been blocked by the moving piece.

Examples:

  • a rook could move on the rank to check on a file while uncovering a bishop check
  • a knight could move to give check while uncovering a rook check or a bishop check

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.