Fixed lead_card and play_card

Rewrote both functions from scratch. Used some function pointers and
optimized some things, but could be better.