#define CASE_STRAIT_BOARD( first, last, match ) \
case straitBoard_##first##_##last: \
if ( hero.getLCard().getValueNum() == static_cast< uint32_t >( Card::valCard::_##match ) || \
hero.getRCard().getValueNum() == static_cast< uint32_t >( Card::valCard::_##match ) ) \
hsHeroIsBlockHighest = true; \
break;
CASE_STRAIT_BOARD( 3, 5, 6 )
CASE_STRAIT_BOARD( 4, 6, 7 )
CASE_STRAIT_BOARD( 5, 7, 8 )
CASE_STRAIT_BOARD( 6, 8, 9 )
CASE_STRAIT_BOARD( 7, 9, T )
CASE_STRAIT_BOARD( 8, T, J )
CASE_STRAIT_BOARD( 9, J, Q )
CASE_STRAIT_BOARD( T, Q, K )
CASE_STRAIT_BOARD( 2, 5, 6 )
CASE_STRAIT_BOARD( 3, 6, 7 )
CASE_STRAIT_BOARD( 4, 7, 8 )
CASE_STRAIT_BOARD( 5, 8, 9 )
CASE_STRAIT_BOARD( 6, 9, T )
CASE_STRAIT_BOARD( 7, T, J )
CASE_STRAIT_BOARD( 8, J, Q )
CASE_STRAIT_BOARD( 9, Q, K )
CASE_STRAIT_BOARD( T, K, A )