home *** CD-ROM | disk | FTP | other *** search
/ Big Green CD 8 / BGCD_8_Dev.iso / OPENSTEP / Games / NeXTGo-3.0-MIS / smartgo.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-07-06  |  2.0 KB  |  96 lines

  1. #include "comment.header"
  2.  
  3. /* $Id: smartgo.h,v 1.3 1997/07/06 19:38:27 ergo Exp $ */
  4.  
  5. /*
  6.  * $Log: smartgo.h,v $
  7.  * Revision 1.3  1997/07/06 19:38:27  ergo
  8.  * actual version
  9.  *
  10.  * Revision 1.2  1997/05/04 18:57:23  ergo
  11.  * added time control for moves
  12.  *
  13.  */
  14.  
  15. #ifndef _SMART_GO_DEFINITIONS_
  16. #define _SMART_GO_DEFINITIONS_
  17.  
  18. #include <stdio.h>
  19.  
  20. #define MAX_LETTERS 12
  21. #define MAXCOMMENT 4097
  22. #define MAXCOMMENTLINES 300
  23. #define MAXCOMMENTWIDTH 50
  24.  
  25. typedef enum {
  26.   t_White,
  27.   t_Black,
  28.   t_Open,
  29.   t_Close,
  30.   t_NewNode,
  31.   t_Comment,
  32.   t_AddWhite,
  33.   t_AddBlack,
  34.   t_Letter,
  35.   t_Mark,
  36.   t_AddEmpty,
  37.   t_Name,
  38.   t_Pass,
  39.   t_Player,
  40.   t_Size,
  41.   t_Handicap,
  42.   t_PlayerBlack,
  43.   t_BlackRank,
  44.   t_PlayerWhite,
  45.   t_WhiteRank,
  46.   t_GameName,
  47.   t_Event,
  48.   t_Round,
  49.   t_Date,
  50.   t_Place,
  51.   t_TimeLimit,
  52.   t_Result,
  53.   t_GameComment,
  54.   t_Source,
  55.   t_User,
  56.   t_Komi,
  57.  
  58.   t_WS,
  59.   t_EOF
  60.   } Token;
  61.  
  62.  
  63. typedef struct _node {
  64.   int nodenum, flag, recurse;
  65.   struct _node *parent, *variants, *next_var, *prev_var, *next, *prev;
  66.   char *properties;
  67. } node;
  68.  
  69.  
  70. /*   Routines from smartgoparse.c needed by other routines.  */
  71. extern node* parse_tree(char* inputBuffer);
  72.  
  73. /*   Routines from smartgoeval.c needed by other routines.   */
  74. extern void evaluateNode(char *c, unsigned char b[][]);
  75.  
  76.  
  77. /*   Routines from smartgotree.c needed by other routines.  */
  78. extern node* forwardOneNode(node* currentNode);
  79. extern node* forwardOneNode0(node* currentNode);
  80. extern node* backOneNode(node* currentNode);
  81. extern node* findLast(node* currentNode);
  82. extern node* findLast0(node* currentNode);
  83. extern node* forwardOneVariant(node* currentNode);
  84. extern node* backOneVariant(node* currentNode);
  85. extern void clearNodeFlags(node* currentNode);
  86. extern int evaluateSteps(node* currentNode, node* targetNode, unsigned char b[][]);
  87. extern void buildToNode(node* targetNode);
  88. extern node* stepForward(node* currentNode);
  89. extern node* stepBackward(node* currentNode);
  90. extern node* jumpForward(node* currentNode);
  91. extern node* jumpBackward(node* currentNode);
  92.  
  93.  
  94. #endif
  95.  
  96.