BaseDef.h
上传用户:onward9999
上传日期:2022-06-27
资源大小:989k
文件大小:2k
源码类别:

其他游戏

开发平台:

Visual C++

  1. #if !defined CCT_CHINESECHESS_DEF
  2. #define CCT_CHINESECHESS_DEF
  3. #include "BaseClasses.h"
  4. const int MW=32,SW=1; //MW-棋子宽度;SW-棋子间隔的一半
  5. const int BWA=MW+SW*2; //BWA-棋格宽度
  6. const int XC[2]={BWA/2,BWA/2-1}; //XC,YC-棋子宽的一半
  7. const int YC[2]={BWA/2,BWA/2-2}; //[0].[1]分别为阴影和明线的偏移量
  8. const int XBW=BWA*9,YBW=BWA*10; //棋盘的长宽
  9. const int XOFFSET=15,YOFFSET=10; //棋盘左上角相对窗口用户区的偏移
  10. #define MAN 0 //人
  11. #define COM 1 //计算机
  12. #define RED 0 //红方
  13. #define BLACK 1 //黑方
  14. #define RED_K 0 //红帅
  15. #define RED_S 1 //仕
  16. #define RED_X 2 //相
  17. #define RED_M 3 //马
  18. #define RED_J 4 //车
  19. #define RED_P 5 //炮
  20. #define RED_B 6 //兵
  21. #define BLACK_K 7 //黑将
  22. #define BLACK_S 8 //士
  23. #define BLACK_X 9 //象
  24. #define BLACK_M 10 //马
  25. #define BLACK_J 11 //车
  26. #define BLACK_P 12 //炮
  27. #define BLACK_B 13 //卒
  28. //以下是全局函数定义:
  29. //把棋子序号转换为对应图标的序号
  30. const int  ManToIcon[33]= {0,1,1,2,2,3,3,4,4,5,5,6,6,6,6,6
  31. ,7,8,8,9,9,10,10,11,11,12,12,13,13,13,13,13,-1};
  32. //棋子类型与图标的序号相同
  33. #define ManToType  ManToIcon
  34. const int ManToType7[33]= {0,1,1,2,2,3,3,4,4,5,5,6,6,6,6,6
  35. ,0,1,1,2,2,3,3,4,4,5,5,6,6,6,6,6,-1};
  36. //随即函数,返回小于n的随机整数
  37. int  rnd(const int& n);
  38. //给出棋子序号!!,判断是红是黑
  39. const int SideOfMan[33]= {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  40. ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1};
  41. const int _defaultmap[11][12]=
  42. {
  43. // [0][1][2][3][4][5][6][7][8][9][10][11]
  44. {32,32,32,32,32,32,32,32,32,32,32,32},//[0]
  45. {32,32,32,32,32,32,32,32,32,32,32,32},//[1]
  46. {32,32,32,32,32,32,32,32,32,32,32,32},//[2]
  47. {32,32,32,32,32,32,32,32,32,32,32,32},//[3]
  48. {32,32,32,32,32,32,32,32,32,32,32,32},//[4]
  49. {32,32,32,32,32,32,32,32,32,32,32,32},//[5]
  50. {32,32,32,32,32,32,32,32,32,32,32,32},//[6]
  51. {32,32,32,32,32,32,32,32,32,32,32,32},//[7]
  52. {32,32,32,32,32,32,32,32,32,32,32,32},//[8]
  53. {32,32,32,32,32,32,32,32,32,32,32,32},//[9]
  54. {32,32,32,32,32,32,32,32,32,32,32,32}//[10]
  55. };
  56. //
  57. const int FistOfSide[2]={0,16};
  58. const int LastOfSide[2]={15,31};
  59. //给出棋子排列数组和走法,判断是否能走
  60. BOOL CanGo(int manmap[11][12],
  61.    const int & man,
  62.    const int & xfrom,
  63.    const int & yfrom,
  64.    const int & xto,
  65.    const int & yto);
  66. //判断某种棋子能否放在某点
  67. BOOL  IsNormal(const int & mantype,const int & x,const int & y);
  68. void FixManMap(CFace & face, int map[11][12]);
  69. #endif