moved isAllowedMove() to Figure instead of implementing it again and again