ChessWithQuests

Horse (model.pieces.horse)

model.pieces.horse

Horse (Knight) chess piece implementation with L-shaped jumping movement.

Horse

Bases: Piece

Horse (Knight) chess piece that moves in an L-shape and can leap over pieces.

Source code in src/model/pieces/horse.py
class Horse(Piece):
    """Horse (Knight) chess piece that moves in an L-shape and can leap over pieces."""

    def __init__(self, color: int, piece_type: str = "horse"):
        """Initialize a Horse piece.

        Args:
            color: Color identifier (1 for White, -1 for Black).
            piece_type: Piece type descriptor (default: "horse").
        """
        vectors = [
            (1, 2),
            (2, 1),
            (2, -1),
            (1, -2),
            (-1, -2),
            (-2, -1),
            (-2, 1),
            (-1, 2),
        ]
        super().__init__(
            color=color,
            piece_type=piece_type,
            vectors=vectors,
            attack_vectors=vectors,
            can_jump=True,
            name="Horse",
        )
__init__(color, piece_type='horse')

Initialize a Horse piece.

Parameters:

Name Type Description Default
color int

Color identifier (1 for White, -1 for Black).

required
piece_type str

Piece type descriptor (default: "horse").

'horse'
Source code in src/model/pieces/horse.py
def __init__(self, color: int, piece_type: str = "horse"):
    """Initialize a Horse piece.

    Args:
        color: Color identifier (1 for White, -1 for Black).
        piece_type: Piece type descriptor (default: "horse").
    """
    vectors = [
        (1, 2),
        (2, 1),
        (2, -1),
        (1, -2),
        (-1, -2),
        (-2, -1),
        (-2, 1),
        (-1, 2),
    ]
    super().__init__(
        color=color,
        piece_type=piece_type,
        vectors=vectors,
        attack_vectors=vectors,
        can_jump=True,
        name="Horse",
    )
ChessWithQuests