> Pawn: May move 0-2 squares on it's first move, 0-1 otherwise. Can only attack diagonally. Sadly en passant (the funny move) is not implemented yet because I have no idea how it would work.
Just "enlarge" the Pawn whenever it moves more than 1 square.
Ex: if the pawn moves 2 squares, it is now a 2x1 piece. It will return to size 1x1 after its next move. If you wanna be "only" Pawns participating, ensure that the enlarged region can only be affected by other pawns.
Ex2: If the pawn moves 1.5 squares, it is now a 1.5x1 piece.
That would allow any piece to capture a pawn on the adjacent file after a 2 square move. That would make 2 square moves bad, which would slow the game down.
That's literally the point of en-passant. To "punish" players who do a 2-square move.
It shouldn't be too hard to have Pawns only be able to capture in this manner. And if you wanted to "reset the size" at the beginning of each player's turn. (Ex: White's pawns reset from 1.5x1 size into 1x1 size at the start of White's turn), then that basically covers en-passant.
> The rule only punishes players that use the 2-square move to "block" an advancing pawn
I think you need to study En Passant a bit more. E2 to E4 is _not_ captured by the E5 black pawn, but instead by the D4 or F4 black pawn.
The E-black pawn is meaningless in regards to the En Passant rule. All that matters is that E2 (original location of white pawn) "passes through E3" on its way to E4, so F4 and D4 black pawns have an opportunity to kill it.
What rcme seems to be pointing out is that in normal chess only pawns can en passant, whereas if you grew the size of the pawn non-pawn prices would also be able to take it.
> It shouldn't be too hard to have Pawns only be able to capture in this manner.
So you have two regions. The 1x1 region of the pawn, and the 1.5 x 1 "en passant" region of a pawn that moved 1.5 squares as its first thrust. The 1.5x1 region can only be targetted by enemy pawns. If an enemy bishop lands in the 1.5x1 region, it still needs to check if its the 1x1 "original pawn" region to have the pawn captured.
Need to make the pawn elongate only for move checking with other pawns. A little tricky, because now you need a shadow board, but shouldn't be too bad?
Just "enlarge" the Pawn whenever it moves more than 1 square.
Ex: if the pawn moves 2 squares, it is now a 2x1 piece. It will return to size 1x1 after its next move. If you wanna be "only" Pawns participating, ensure that the enlarged region can only be affected by other pawns.
Ex2: If the pawn moves 1.5 squares, it is now a 1.5x1 piece.