⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 move.h

📁 早期freebsd实现
💻 H
字号:
/* header file for move generator hes 890318   Modified: 890510 minor bug fixed in Newataks             890606 NEWMOVE levels 1-6 */#if (NEWMOVE >= 1)extern short distdata[64][64];extern short taxidata[64][64];#define taxicab(a,b) taxidata[a][b]#define distance(a,b) distdata[a][b]extern void Initialize_dist();#endif  #if (NEWMOVE >= 2)struct sqdata {  short nextpos;  short nextdir;};extern struct sqdata posdata[3][8][64][64];extern void Initialize_moves();#define ataks(side,a)\{\  register short u,c,sq;\  register struct sqdata *p;\  short i,piece,*PL;\  \  for (u = 64; u; a[--u] = 0); \  PL = PieceList[side];\  for (i = 0; i <= PieceCnt[side]; i++)\    {\      sq = PL[i];\      piece = board[sq];\      c = control[piece];\      p = posdata[side][piece][sq];\      if (piece == pawn) {\	u = p[sq].nextdir; /* follow captures thread */\	while (u != sq) {\	  a[u] = ++a[u] | c;\	  u = p[u].nextdir;\	}\      }\      else {\	u = p[sq].nextpos;\	while (u != sq) {\          a[u] = ++a[u] | c;\	  if (color[u] == neutral)\	    u = p[u].nextpos;\	  else\	    u = p[u].nextdir;\	}\      }\    }\}#endif#if (NEWMOVE >= 3)extern short PieceList[2][16];extern int Sqatakd();#endif#if (NEWMOVE > 3)extern short Kfield[2][64],PINVAL,control[7],hung[2],XRAY;extern BRscan();#endif#if (NEWMOVE > 4)#define valueQ 1100extern short PieceCnt[2],value[7],svalue[64];extern CaptureList();#endif#if (NEWMOVE > 5)extern GenMoves();#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -