Implemented all movements; check_win still TODO