17 lines
651 B
Python
17 lines
651 B
Python
from chess_piece import ChessPiece
|
|
from move import Move, pawn_move_sets
|
|
from player import Player
|
|
|
|
class Pawn(ChessPiece):
|
|
def __init__(self, piece_color: Player):
|
|
super().__init__(piece_color)
|
|
|
|
def is_valid_move(self, move: Move, board: list[list[ChessPiece]]) -> bool:
|
|
# run original check and move set checks
|
|
orig_valid = super().is_valid_move(move, board)
|
|
pawn_move_set_valid = pawn_move_sets.is_valid_move(move)
|
|
|
|
# run piece specific check about diagonal taking
|
|
|
|
print(f'orig_valid={orig_valid}, pawn_move_set_valid={pawn_move_set_valid}')
|
|
return orig_valid and pawn_move_set_valid |