Move (model.game.move)¶
model.game.move
¶
Move representation tracking positions, piece transitions, captures, and promotions.
Move
¶
Encapsulates a chess move with coordinates, piece states, and execution logic.
Source code in src/model/game/move.py
__init__(start_pos, end_pos, piece=None, move_type='normal', captured_piece=None, promotion_piece=None)
¶
Initialize a Move instance.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
start_pos
|
Tuple[int, int]
|
Starting (row, col) coordinates. |
required |
end_pos
|
Tuple[int, int]
|
Destination (row, col) coordinates. |
required |
piece
|
Optional[Any]
|
Moving piece instance, or None to infer from board. |
None
|
move_type
|
str
|
Type of move (e.g. "normal", "castling", "en_passant"). |
'normal'
|
captured_piece
|
Optional[Any]
|
Captured piece instance if any. |
None
|
promotion_piece
|
Optional[Any]
|
New piece instance if move involves pawn promotion. |
None
|
Source code in src/model/game/move.py
execute(board)
¶
Execute this move on the given board.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
board
|
Any
|
Board instance on which the move is applied. |
required |
Returns:
| Type | Description |
|---|---|
bool
|
True if the move executed successfully, False otherwise. |
Source code in src/model/game/move.py
validate(board=None)
¶
Validate geometric boundaries and basic board rules for this move.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
board
|
Optional[Any]
|
Optional Board instance to verify piece existence and target color. |
None
|
Returns:
| Type | Description |
|---|---|
bool
|
True if basic validity checks pass, False otherwise. |