drawmenu(); doMenu();*/
SetWindowPos(HWND_BOTTOM,HWND_NOTOPMOST,133,100,800,600,SWP_SHOWWINDOW); DrawChessMap(); 程 }
//CreateThread(NULL,0,ThreadProc2,NULL,0,NULL); //创建线程 playgame(); getch();
prt(\getch(); return 0;
th1=CreateThread(NULL,0,ThreadProc1,NULL,0,NULL); //创建线//开始游戏
//宏定义
#define CHESS_X 28 #define CHESS_Y 8
#define CHESS_WIDTH 12*2 #define CHESS_HIGHT 18
char ChessBoard[12][18]={0}; //12*18的二维数组表示棋盘数据 有黑格子的地方置1 其它地方置0 unsigned int rx,ry;
extern void gotoxy(int,int); int PointNum=0; int speed=1000;
HANDLE th1;//线程1句柄 void ShowChessBoard() ; typedef struct _chess_data
21
{
char rx;//5种类型 0..4 char ry;////4种形态 0..3
char data[4][4]; //数据 COORD xy;//位置 POINT
}chess_data;
chess_data oneChess;
CRITICAL_SECTION cs;
CRITICAL_SECTION cs_puts; void prt(char* s) { //进入临界区 } //画棋盘
void DrawChessMap(void) {
int i;
//U型 //左边
EnterCriticalSection(&cs_puts); puts(s);
LeaveCriticalSection(&cs_puts); //离开临界区
for (i=0;i gotoxy(CHESS_X,CHESS_Y+i); prt(\┃\ } //右边 for (i=0;i gotoxy(CHESS_X+CHESS_WIDTH,CHESS_Y+i); 22 prt(\┃\ } //底部转角 prt(\┗\ gotoxy(CHESS_X+CHESS_WIDTH,CHESS_Y+CHESS_HIGHT); prt(\┛\//底部横线 for (i=1;i gotoxy(CHESS_X+i*2,CHESS_Y+CHESS_HIGHT); prt(\━\ gotoxy(CHESS_X,CHESS_Y+CHESS_HIGHT); } return ; } //20种不成形态的棋子 chess_data DownChessData[5][4]={0}; void InitChessData(void) { //□□ //□□ 类型0 状态0 DownChessData[0][0].xy.X=CHESS_X+4; DownChessData[0][0].xy.Y=CHESS_Y+0; DownChessData[0][0].data[0][0]=1; DownChessData[0][0].data[1][0]=1; DownChessData[0][0].data[0][1]=1; DownChessData[0][0].data[1][1]=1; //状态1-3 =状态0 DownChessData[0][1]=DownChessData[0][2]=DownChessData[0][3 23 ]=DownChessData[0][0]; //□□□ // □ 类型1 状态0 DownChessData[1][0].xy.X=CHESS_X+4; DownChessData[1][0].xy.Y=CHESS_Y+0; DownChessData[1][0].data[0][0]=1; DownChessData[1][0].data[1][0]=1; DownChessData[1][0].data[2][0]=1; DownChessData[1][0].data[1][1]=1; // □ //□□ // □ 类型1 状态1 DownChessData[1][1].xy.X=CHESS_X+4; DownChessData[1][1].xy.Y=CHESS_Y+0; DownChessData[1][1].data[1][0]=1; DownChessData[1][1].data[1][1]=1; DownChessData[1][1].data[1][2]=1; DownChessData[1][1].data[0][1]=1; // □ 类型1 状态2 //□□□ DownChessData[1][2].xy.X=CHESS_X+4; DownChessData[1][2].xy.Y=CHESS_Y+0; DownChessData[1][2].data[1][0]=1; DownChessData[1][2].data[0][1]=1; DownChessData[1][2].data[1][1]=1; DownChessData[1][2].data[2][1]=1; //□ 类型1 状态3 //□□ //□ DownChessData[1][3].xy.X=CHESS_X+4; DownChessData[1][3].xy.Y=CHESS_Y+0; DownChessData[1][3].data[0][0]=1; 24 DownChessData[1][3].data[0][1]=1; DownChessData[1][3].data[0][2]=1; DownChessData[1][3].data[1][1]=1; //□ //□ //□ //□ DownChessData[2][0].xy.X=CHESS_X+4; DownChessData[2][0].xy.Y=CHESS_Y+0; DownChessData[2][0].data[1][0]=1; DownChessData[2][0].data[1][1]=1; DownChessData[2][0].data[1][2]=1; DownChessData[2][0].data[1][3]=1; DownChessData[2][2]= DownChessData[2][0]; //□□□□ DownChessData[2][3].xy.X=CHESS_X+4; DownChessData[2][3].xy.Y=CHESS_Y+0; DownChessData[2][3].data[1][2]=1; DownChessData[2][3].data[2][2]=1; DownChessData[2][3].data[3][2]=1; DownChessData[2][3].data[0][2]=1; DownChessData[2][1]= DownChessData[2][3]; //□□ // □□ DownChessData[3][0].xy.X=CHESS_X+4; DownChessData[3][0].xy.Y=CHESS_Y+0; DownChessData[3][0].data[0][1]=1; 25