52   if((w & 1) || w != h)
return; 
    54   const UINT limit = (w%4 == 2)? w/2 - 3: w/2 - 2;
    56   for(
UINT offset=0; offset<limit; offset+=2)
    57     for(
UINT k=0; k<4; k++){ 
    61       while(j < w - offset - 2){
    63         i = (i == offset)? offset + 1: offset; 
    68       while(i < w - offset - 2){
    71         j = (j == w - offset - 1)? w - offset - 2: w - offset - 1; 
    75       while(j >= offset + 2){
    77         i = (i == w - offset - 1)? w - offset - 2: w - offset - 1; 
    82       while(i >= offset + 2){
    85         j = (j == offset)? offset + 1: offset; 
    95   const int m = 4 + w%4; 
    96   const int offset = (w - m)/2; 
 Header for the concentric braided tourney generator CConcentricBraid.
 
int GetHeight()
Get height.
 
void Generate(CBoard &b)
Generate a concentric braided tourney.
 
CBoard * m_pBoard4x4
Pointer to 4x4 center.
 
int m_nMove6x6[36]
Undirected move table for 6x6 center.
 
CConcentricBraid()
Constructor.
 
int m_nMove4x4[16]
Undirected move table for 4x4 center.
 
unsigned int UINT
Abbreviation for unsigned integer.
 
void CopyToSubBoard(CBaseBoard &b, int x, int y)
Copy to sub-board.
 
~CConcentricBraid()
Destructor.
 
CBoard * m_pBoard6x6
Pointer to 6x6 center.
 
bool InsertUndirectedMove(int src, int dest)
Insert an undirected move.