亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? datatype.h

?? 很經典的用C++編的空當接龍的程序
?? H
字號:
#if !defined __DATATYPE_H__
#define __DATATYPE_H__

#define CARD(num,type)   (num + type*13)
#define IS_CARD(card)    (card<=52 && card>=1)
#define TYPE(card)       ((card-1)/13)
#define NUM(card)        ((card-1)%13+1)

#define COL_IN_CARD(c)   (c<=8)
#define COL_IN_BUFF(c)   (c>=9 && c<=12)
#define COL_IN_RECY(c)   (c>=13)

const CPoint ptOrg(1,17);//牌局左上角

const CARD_HEI = 94; // 每張牌的高度height
const CARD_WID = 69; // 每張牌的寬度width
const CARD_INT = 8;
	// 代表1-8列中每兩堆牌之間的間隔(interval)
	// (第9,16兩列分別與窗口兩邊的間距也是這個值)
const PILE_VINT = 8; // 牌列與緩存列間垂直方向上的間隔
const PILE_HINT = 9*CARD_INT; //緩存列與回收列之間的水平間隔
const CARD_UNCOVER = 18; // 當被一張牌壓著的時候,此露出的部分的高度

//usage: clr[BIG/SML][HT/HX/MH/FK][UP/DN][X/Y]...
const UCHAR BIG=0, SML=1, big=16, sml=8;
const UCHAR clr[2][4][2][2] = {
		{	{	{0 *big,1 *big},//黑桃上
				{1 *big,1 *big},//黑桃下
			},{	{0 *big,2 *big},//紅桃上
				{1 *big,2 *big},//紅桃下
			},{	{0 *big,3 *big},//梅花上
				{1 *big,3 *big},//梅花下
			},{	{0 *big,4 *big},//方塊上
				{1 *big,4 *big},//方塊下
			}
		},{	{	{0 *sml,0 *sml},
				{0 *sml,1 *sml}
			},{	{1 *sml,0 *sml},
				{1 *sml,1 *sml}
			},{	{2 *sml,0 *sml},
				{2 *sml,1 *sml}
			},{	{3 *sml,0 *sml},
				{3 *sml,1 *sml}
			}
		}
	};
//牌A--牌10的圖像數據
const UCHAR x12   = CARD_WID      /  2;
const UCHAR x13   = CARD_WID *  9 / 30;
const UCHAR x23   = CARD_WID * 21 / 30;
const UCHAR y12   = CARD_HEI      /  2;
const UCHAR y15   = CARD_HEI      /  5;
const UCHAR y25   = CARD_HEI *  2 /  5;
const UCHAR y35   = CARD_HEI *  3 /  5;
const UCHAR y45   = CARD_HEI *  4 /  5;
const UCHAR y310  = CARD_HEI *  3 / 10;
const UCHAR y710  = CARD_HEI *  7 / 10;
const UCHAR y720  = CARD_HEI *  7 / 20;
const UCHAR y1320 = CARD_HEI * 13 / 20;

const UCHAR cA[] = { x12 , y12 , 1, };
const UCHAR c2[] = { x12 , y15 , 1, x12 , y45 , 0, };
const UCHAR c3[] = { x12 , y15 , 1, x12 , y45 , 0, x12 , y12 , 1, };
const UCHAR c4[] = { x13 , y15 , 1, x23 , y15 , 1, x13 , y45 , 0, x23 , y45 , 0, };
const UCHAR c5[] = { x13 , y15 , 1, x23 , y15 , 1, x13 , y45 , 0, x23 , y45 , 0, x12 , y12 , 1, };
const UCHAR c6[] = { x13 , y15 , 1, x23 , y15 , 1, x13 , y45 , 0, x23 , y45 , 0, x13 , y12 , 1, x23 , y12 , 1, };
const UCHAR c7[] = { x13 , y15 , 1, x23 , y15 , 1, x13 , y45 , 0, x23 , y45 , 0, x13 , y12 , 1, x23 , y12 , 1, x12 , y720 , 1 , };
const UCHAR c8[] = { x13 , y15 , 1, x23 , y15 , 1, x13 , y25 , 1, x23 , y25 , 1, x13 , y35 , 0, x23 , y35 , 0, x13 , y45  , 0 , x23 , y45   , 0 };
const UCHAR c9[] = { x13 , y15 , 1, x23 , y15 , 1, x13 , y25 , 1, x23 , y25 , 1, x13 , y35 , 0, x23 , y35 , 0, x13 , y45  , 0 , x23 , y45   , 0 , x12 , y12  , 1 , };
const UCHAR c10[]= { x13 , y15 , 1, x23 , y15 , 1, x13 , y25 , 1, x23 , y25 , 1, x13 , y35 , 0, x23 , y35 , 0, x13 , y45  , 0 , x23 , y45   , 0 , x12 , y310 , 1 , x12 , y710 , 0 , };
const UCHAR c8FK[] = { x13 , y15 , 1, x23 , y15 , 1, x13 , y45 , 0, x23 , y45 , 0, x13 , y12 , 1, x23 , y12 , 1, x12 , y720 , 1 , x12 , y1320 , 0 , };

const UINT modeCrWr = CFile::modeWrite | CFile::modeCreate;
const UINT modeRead = CFile::modeRead;
const DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;
static const char * filter = "接龍存檔文件(*.rep)|*.rep||";//文件名過濾器

//步驟計數的字體高度
const UINT stepFont = 22;

//解碼
void Decoding(CFile & desFile, CFile & srcFile);

//////////////////////////////////////////////////////////
class COperation : public CObject
{
	DECLARE_SERIAL(COperation)

public:
	UCHAR src,des,cnt;//記錄從第src列移動cnt張牌到第des列

	COperation() 
		: des(0),src(0),cnt(0) 
	{ }

	COperation(UINT d,UINT s,UINT n) 
		: des(d),src(s),cnt(n) 
	{ }

	void Serialize(CArchive &ar) {
		//CObject does not serialize anything by default
		//CObject::Serialize(ar);
		if(ar.IsStoring()) { 
			ar<<src<<des<<cnt;
		} else {
			ar>>src>>des>>cnt;
		}
	}
};
//////////////////////////////////////////////////////////
class COperations : public CObject
{
public:
	COperations() 
	{	
		pOps = new CObList;
	}

	COperations(UINT des,UINT src,UINT n) 
	{
		pOps = new CObList;
		pOps->AddHead(new COperation(des,src,n)); 
	}

	void AddOperation(UINT des,UINT src,UINT n) { 
		pOps->AddHead(new COperation(des,src,n)); 
	}

	void ClrOps() {
		POSITION p = pOps->GetHeadPosition();
		while(p) {
			COperation *pOp = (COperation *)pOps->GetNext(p);
			delete pOp;
		}
		pOps->RemoveAll();
	}

	~COperations() { 
		ClrOps();
		delete pOps;
	}

	void Serialize(CArchive &ar) {
		//CObject does not serialize anything by default
		//CObject::Serialize(ar);
		pOps->Serialize(ar);
	}

	CObList *pOps;
	DECLARE_SERIAL(COperations)
};

//////////////////////////////////////////////////////////
//記錄下一步的所有可能的移動步驟用于提示
class HINTS : public COperations
{
	int curHint;
public:
	HINTS() {
		curHint = 0;
	}
	//
	// before call NextHint, you must firstly 
	// call COperations::AddOperation to fill
	// the operation list, for it should NOT be 
	// empty
	//
	const COperation* NextHint(void) {
		ASSERT(!pOps->IsEmpty());
		int cnt = pOps->GetCount();
		if(curHint >= cnt) {
			curHint = 0;
		}
		//最先提示鏈尾的動作
		const COperation* pOp = (const COperation*)
			pOps->GetAt(pOps->FindIndex(cnt - ++curHint));
		return pOp;
	}
	void ClrHints(void) {
		ClrOps();
		curHint = 0;
	}
	BOOL IsEmpty() {
		return pOps->IsEmpty();
	}
};

///////////////////////////////////
struct CARD_POS { UINT col,idx; };
///////////////////////////////////

#define MIN_GAME_NUMBER 1
#define MAX_GAME_NUMBER 0x7FFFFFFF

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美色网站导航| 国产精品一二一区| 91福利国产精品| 日韩毛片精品高清免费| 99国产精品国产精品毛片| 国产精品福利在线播放| 91玉足脚交白嫩脚丫在线播放| 国产精品乱码人人做人人爱 | 一区二区三区精品久久久| 91丨九色丨蝌蚪富婆spa| 亚洲精选一二三| 欧美日韩三级一区| 免费看欧美女人艹b| 2023国产一二三区日本精品2022| 国产一区二区三区在线观看免费| 国产日产精品一区| 色综合色综合色综合| 亚洲精品中文字幕在线观看| 欧美日韩高清在线播放| 国内精品伊人久久久久av影院| 国产三级一区二区| 99国产精品国产精品久久| 亚洲mv在线观看| 精品国产一区二区三区久久影院| 国产成人一区在线| 性做久久久久久久免费看| 欧美成人高清电影在线| 成人18视频在线播放| 亚洲va欧美va人人爽午夜| 精品国产乱码久久久久久图片| 粉嫩av一区二区三区粉嫩| 亚洲主播在线观看| 2024国产精品视频| 在线观看av一区| 国产精品亚洲第一| 亚洲成人av中文| 久久久99精品久久| 欧美日韩国产色站一区二区三区| 国产综合色精品一区二区三区| 亚洲区小说区图片区qvod| 91精品国产综合久久精品图片| 粗大黑人巨茎大战欧美成人| 亚洲午夜国产一区99re久久| 久久精品人人爽人人爽| 欧美日韩精品久久久| 粉嫩aⅴ一区二区三区四区| 偷窥少妇高潮呻吟av久久免费| 中文字幕va一区二区三区| 欧美高清www午色夜在线视频| 成人亚洲精品久久久久软件| 日本不卡一区二区三区 | 欧美欧美午夜aⅴ在线观看| 国产精品白丝jk黑袜喷水| 天堂一区二区在线| 亚洲人成影院在线观看| 国产亚洲一区二区三区| 欧美一级专区免费大片| 欧美在线视频日韩| 99这里都是精品| 国产另类ts人妖一区二区| 日韩高清一区二区| 亚洲va国产天堂va久久en| 亚洲日本va午夜在线影院| 久久在线观看免费| 日韩丝袜美女视频| 欧美午夜片在线观看| 99re成人精品视频| 成人夜色视频网站在线观看| 激情丁香综合五月| 看片的网站亚洲| 日韩精品久久理论片| 亚洲成人激情av| 亚洲成人黄色影院| 亚洲成av人综合在线观看| 亚洲天堂精品视频| 亚洲欧美经典视频| 国产精品国产三级国产a | 国产91精品露脸国语对白| 久热成人在线视频| 久久综合综合久久综合| 日韩国产欧美在线观看| 日韩不卡一区二区三区| 日韩成人午夜电影| 久久精品国产精品亚洲精品| 久久精品国产亚洲a| 久久99国产精品免费网站| 免费成人在线网站| 久久精品国产99国产精品| 免费观看一级特黄欧美大片| 奇米影视7777精品一区二区| 美国十次了思思久久精品导航| 日产国产高清一区二区三区 | 另类专区欧美蜜桃臀第一页| 日本成人在线网站| 国产一区视频在线看| 国产成人免费视频网站 | 成人免费视频一区二区| 成人av手机在线观看| 97成人超碰视| 欧美自拍丝袜亚洲| 欧美一区二区三区视频| 欧美videofree性高清杂交| 国产午夜亚洲精品不卡| 国产精品久线在线观看| 亚洲影视资源网| 久久99久久久久| 成人精品视频一区二区三区尤物| 色婷婷综合久色| 欧美视频一区二| 精品福利一区二区三区| 亚洲欧美怡红院| 图片区小说区国产精品视频| 麻豆成人在线观看| 99久久久国产精品| 欧美日韩国产首页在线观看| 久久综合狠狠综合久久激情| 中文字幕一区在线观看视频| 午夜激情久久久| 国产激情一区二区三区桃花岛亚洲| 96av麻豆蜜桃一区二区| 日韩一区二区三区在线视频| 国产三级久久久| 亚洲激情成人在线| 国产一区二区三区免费看| 色呦呦国产精品| 精品国产1区二区| 亚洲一区二区三区在线看| 美女视频免费一区| 91免费观看在线| 欧美精品一区二区精品网| 亚洲精品中文在线| 国产福利一区二区三区在线视频| 欧美视频一区二区| 亚洲欧洲日韩综合一区二区| 男人的j进女人的j一区| 色哦色哦哦色天天综合| www成人在线观看| 天堂影院一区二区| 91久久精品国产91性色tv| 久久这里只有精品首页| 日韩中文字幕亚洲一区二区va在线 | 精品久久一区二区三区| 亚洲人成网站精品片在线观看| 玖玖九九国产精品| 欧美日韩国产大片| 国产精品久久精品日日| 狠狠色丁香九九婷婷综合五月| 在线免费不卡视频| 最新国产成人在线观看| 国产麻豆精品在线| 精品国产自在久精品国产| 偷窥国产亚洲免费视频| 在线观看日韩高清av| 中文字幕亚洲一区二区av在线| 国精产品一区一区三区mba视频 | 日本大胆欧美人术艺术动态| 91在线视频18| 国产精品久久久久永久免费观看| 精品一区二区免费| 日韩午夜精品视频| 日本系列欧美系列| 在线观看91精品国产麻豆| 亚洲一区二区在线观看视频| 色域天天综合网| 亚洲精品大片www| 91一区二区在线| 亚洲人被黑人高潮完整版| www.亚洲免费av| 亚洲欧洲av色图| 99免费精品在线| 亚洲欧美电影院| 色999日韩国产欧美一区二区| 亚洲欧美成aⅴ人在线观看| av网站免费线看精品| 国产精品无遮挡| 99精品一区二区| 一区二区免费看| 欧美狂野另类xxxxoooo| 午夜天堂影视香蕉久久| 欧美福利一区二区| 麻豆精品一二三| 久久久精品国产99久久精品芒果| 国产精品自在在线| 国产精品国产三级国产aⅴ中文| 99国产精品久久久久久久久久久 | 亚洲日本在线天堂| 欧美亚洲国产怡红院影院| 亚洲第一成年网| 欧美一区二区视频免费观看| 男男视频亚洲欧美| 久久久午夜精品| 97久久精品人人做人人爽| 一区二区日韩电影| 日韩精品中午字幕| 国产99久久精品| 亚洲图片欧美色图| 精品国偷自产国产一区| 国产成人在线看| 亚洲国产欧美另类丝袜| 日韩欧美精品在线视频|