King moves bug
Status: Beta
Brought to you by:
guph
King moves are currently improperly culled.
If a king move has an take with an active square (take with more takes following) then regular moves are culled. In fact, no moves should be culled in king_moves, just like none are in pawn_moves, since generate_moves takes care of this after qsort, by culling all moves that are not forced.
Therefore, king_moves is more complex than it needs to be. The solution is probably to break it down into king_moves and king_takes, although if a king can take in one direction, then the king must take (clarify with rules..) So maybe one function is still the way to go?