class CcaseNB

Accueil Remonter

class CcaseNB : public CObject
{
DECLARE_SERIAL(CcaseNB);
public:
bool m_impasse(int Index);
bool m_impasseDoubleOptim(int Index);
void m_AvoidBusyCaseTri();
void m_AvoidBusyCaseNoTri();
void m_AvoidBusyCaseAllTri();

void m_OrderBySigma(bool b);
void m_OrderRandom(bool b);
void m_OrderByLessLink(bool b);

int nbInitOrig;
int m_memo_index_trace;
bool CaseOnDiagoLeft;
bool CaseOnDiagoRight;
CString TimeOfResearch;
double TreeSearchTime;
SearchTime duration;
CcaseNB();
CcaseNB(int i);
virtual ~CcaseNB();

int current ;
int origine ;
int index ;
bool free ;
int nborigine ;
int tentative;

INTVECT FreePossibilites,possibilites;
int FreePossibilitesTab[9],possibilitesTab[9]; // perf compare with vector


CKCtrl * m_linkWnd;
int row,line;
int qrow,qline; // index row line dans le 1/4 de l'échiquier

static int MagicRow[8],MagicLine[8],MagicDiagoL,MagicDiagoR;
static int MagicRowVal[8],MagicLineVal[8],MagicDiagoLVal,MagicDiagoRVal;

// methodes de l'algorithme réparti sur les cases

virtual int FirstStep(int Src);
virtual bool IsFree(int Index);
virtual int NextStep();
virtual int GetSource();


void clear_affiche();
void affiche(bool prog);
void Serialize(CArchive& ar);
void SignalEnd();
};