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.