DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T m

⟦cca7216be⟧ TextFile

    Length: 1507 (0x5e3)
    Types: TextFile
    Names: »move.h«

Derivation

└─⟦a05ed705a⟧ Bits:30007078 DKUUG GNU 2/12/89
    └─⟦d50751be0⟧ »./gnuchess-1.53.tar.Z« 
        └─⟦8685e0490⟧ 
            └─⟦this⟧ »move.h« 

TextFile

/* 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 1100

extern short PieceCnt[2],value[7],svalue[64];

extern CaptureList();
#endif

#if (NEWMOVE > 5)
extern GenMoves();
#endif