chessman.h

来自「我也忘了 用vc写的」· C头文件 代码 · 共 61 行

H
61
字号
#ifndef _CHESSMAN_H_
#define _CHESSMAN_H_

#include <windows.h>
#define LATTICESIZE 50

class chessman
{
public:
	void set( int n, BOOL e, int x, int y )
	{
		num = n;
		exist = e;
		xyman.x = x;
		xyman.y = y;
	}

	void set( int x, int y ) //设置位置坐标
	{
		xyman.x = x;
		xyman.y = y;
	}
	
	void kill() { exist = FALSE; } //棋子被吃

	int number() const { return num; } //返回编号

	int sort() const { return num / 7; } //返回 灰 白 类型( 黑 0 、灰 1 )

	int inbeing() const { return num % 7; } //返回 棋子是什么( 车 0、马 1、像 2、士 3、将 4、炮 5、兵 6)



	BOOL Exist() const { return exist; } //返回棋子是活 还是 死

	BOOL drawman( HDC hdc, HDC hdcMemman ); //在棋盘上画出棋子

	POINT* manplace() { return &xyman; } //返回棋子在棋盘上坐标位置(x左小右大)(y上小下大)
private:
	int num;   //记录棋子编号
	BOOL exist;  //记录棋子生死
	POINT xyman; //记录棋子坐标
};

BOOL chessman::drawman( HDC hdc, HDC hdcMemman )
{
	if( !exist )
		return FALSE;

	Ellipse( hdc, xyman.x * LATTICESIZE + 5, xyman.y * LATTICESIZE + 5, 
		(xyman.x + 1) * LATTICESIZE - 5, (xyman.y + 1) * LATTICESIZE - 5 );
	
	int xpic = num % 7;
	int ypic = num / 7;
	BitBlt(hdc, xyman.x * LATTICESIZE + 5 + 6, xyman.y * LATTICESIZE + 5 + 6, 
		28, 28, hdcMemman, xpic * 28, ypic * 28, SRCCOPY );
	return TRUE;
}

#endif

⌨️ 快捷键说明

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