Work / Chess / Wiki / Entities
rules
Entitycanonicalverified 2026-10-12
RULES.CHESSSummary
The rules the engine enforces, and the ways a game ends.
Canonical values
| Key | Value | Last changed |
|---|---|---|
| CASTLING | both sides. King and rook unmoved, squares between empty, king not in check, not through or onto an attacked square | 2026-10-04 |
| EN-PASSANT | yes, on the move straight after the two-square pawn move | 2026-10-04 |
| PROMOTION.ENGINE | accepts queen, rook, bishop or knight | 2026-10-04 |
| PROMOTION.TODAY | always a queen — nothing asks the player | 2026-10-04 |
| PROMOTION.DESIGN | the player chooses, every time | 2026-10-04 |
| END.CHECKMATE | yes | 2026-10-04 |
| END.STALEMATE | yes — a draw | 2026-10-04 |
| END.FIFTY-MOVE | yes — 100 half-moves with no capture and no pawn move | 2026-10-04 |
| END.INSUFFICIENT | king against king; king against king and one bishop or one knight; bishops only, all on one square colour | 2026-10-12 |
| END.THREEFOLD | yes — a draw when the same position, side to move, castling rights and en passant square occur three times. Declared automatically, no claim | 2026-10-12 |
| END.RESIGN | yes — from the pause sheet, behind a confirm dialog | 2026-10-12 |
| END.TIME | yes — with a clock on, the player whose time reaches 0:00 loses; a draw if the other side has only a king. Drawn in game/timeout.html | 2026-10-12 |
| UNDO | every move can be taken back, to the first. Against the computer, Undo takes back your move and its reply. Undo does not give back clock time or the 15+10 increment: the time was spent | 2026-10-12 |
Rules
- A rule the engine does not have is not shown to the player. How to play lists what is in this table and nothing else.
- A draw names its rule. Today both draw rules end in "Game Over!".
- A game lost on time has its own result. timeout. It was missing until 2026-10-12.
Related
- how-to-play — the rules as the player reads them
- draw — the draw-by-rule result
- stalemate — the stalemate result
- promotion — the picker
- timeout — the out-of-time result
Sources
- src/lib/game.ts, src/store/gameStore.ts