Pull game loop in separate method.
Make check function work for both players.
Clang format stuff.
Use template method for additional validity checks common to all pieces.