I've noticed in a prior comment that there was a code change in some game. It was about a pawn and a legal move. You modified the pawn movement to use lambda because the pawn stopped showing legal moves. I think this may be related. In my game copper pocket shogi the black copper piece does not show legal moves if the black piece is in the upper right hand corner. It does show legal moves if you are not near a boundary.
I noticed the same problem in chess with different armies, and you had a posting about a pawn in another message like this. Based on that other message It seems to me that the array build stops when it hits a move that makes it off the board. You fixed the other game by modifying the code to use lambda.
def Black_Copper_General checkaleap #0 #1 0 1 or
checkaleap #0 #1 0 -1 or
checkaleap #0 #1 1 -1 or
checkaleap #0 #1 -1 -1;
def Black_Copper_General-Range array
where #0 0 1
where #0 0 -1
where #0 1 -1
where #0 -1 -1 where |11i 0 0;
The problem is easy to make
start a copper game
move the copper in the pocket to 2b
on your next move the black copper is missing the up left move.
I've noticed in a prior comment that there was a code change in some game. It was about a pawn and a legal move. You modified the pawn movement to use lambda because the pawn stopped showing legal moves. I think this may be related. In my game copper pocket shogi the black copper piece does not show legal moves if the black piece is in the upper right hand corner. It does show legal moves if you are not near a boundary.
I noticed the same problem in chess with different armies, and you had a posting about a pawn in another message like this. Based on that other message It seems to me that the array build stops when it hits a move that makes it off the board. You fixed the other game by modifying the code to use lambda.
def Black_Copper_General checkaleap #0 #1 0 1 or checkaleap #0 #1 0 -1 or checkaleap #0 #1 1 -1 or checkaleap #0 #1 -1 -1;
def Black_Copper_General-Range array where #0 0 1
where #0 0 -1 where #0 1 -1 where #0 -1 -1 where |11i 0 0; The problem is easy to make