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

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

?? landmine.cpp

?? Windows上的挖地雷游戲.rar
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
				if(nRoundMine1!=-1)
				{
					aMine[nTop] = nRoundMine1;
					nTop = (nTop+1)%500;
					nRoundMine1 = GetTop(nRoundMine);
				}
				nRoundMine1 = GetBot(nRoundMine);
				if(nRoundMine1!=-1)
				{
					aMine[nTop] = nRoundMine1;
					nTop = (nTop+1)%500;
					nRoundMine1 = GetTop(nRoundMine);
				}
			}
			nRoundMine = GetRight(nCurrent);
			if(nRoundMine!=-1)
			{	
				aMine[nTop] = nRoundMine;
				nTop = (nTop+1)%500;
				nRoundMine1 = GetTop(nRoundMine);
				if(nRoundMine1!=-1)
				{
					aMine[nTop] = nRoundMine1;
					nTop = (nTop+1)%500;
					nRoundMine1 = GetTop(nRoundMine);
				}
				nRoundMine1 = GetBot(nRoundMine);
				if(nRoundMine1!=-1)
				{
					aMine[nTop] = nRoundMine1;
					nTop = (nTop+1)%500;
					nRoundMine1 = GetTop(nRoundMine);
				}
			}
			nRoundMine = GetTop(nCurrent);
			if(nRoundMine!=-1)
			{	
				aMine[nTop] = nRoundMine;
				nTop = (nTop+1)%500;
			}
			nRoundMine = GetBot(nCurrent);
			if(nRoundMine!=-1)
			{
				aMine[nTop] = nRoundMine;
				nTop = (nTop+1)%500;
			}
			break;
		case 1:
			break;
		case -1:
			return FALSE;		// fail
		}
	}
	return TRUE;
}

BOOL CLandMine::IsSuccess()
{
	int nI,nStatus;
	for(nI=0;nI<m_nRow*m_nCol;nI++)
	{
		nStatus = m_aLandMine[nI]->GetStatus();
		if(nStatus != MS_OPEN)
		{
			if(!(nStatus==MS_FLAG && m_aLandMine[nI]->GetMineNum()==-1))
				return 0;			// not finish
		}
		
	}
	return 1;		// success
}
void CLandMine::MouseMove(CPoint point,int bBothDown)
{
	int nCol=(point.x-m_nX)/16;
	int nRow=(point.y-m_nY)/16;
	int nCurMine = nCol+nRow*m_nCol;
	if(nRow>=m_nRow || nCol>=m_nCol || point.x<m_nX || point.y<m_nY)
	{
		nCurMine = -1;
	}
	if(bBothDown==0)
	{
		if (m_nOldMine != nCurMine)
		{
			if (m_nOldMine>=0)
				m_aLandMine[m_nOldMine]->ButtonDown(0);
			if (nCurMine>=0)
			{
				m_aLandMine[nCurMine]->ButtonDown(1);
				
			}
			m_nOldMine = nCurMine;
		}
	}
	else
		if(bBothDown==2)		
		{
			if (m_nOldMine != nCurMine)
			{
				int aOldMineTest[9],nOldMineTest=m_nMineTest;
				int nI,nJ;
				for(nI=0;nI<m_nMineTest;nI++)
				{
					aOldMineTest[nI] = m_aMineTest[nI];
				}
				if(nCurMine>=0)
				{
					BOOL bFound;							
					RndBtShdDn(nCurMine);
					
					for(nI=0;nI<m_nMineTest;nI++)
					{
						bFound = FALSE;
						for(nJ=0;nJ<nOldMineTest;nJ++)
						{
							if(m_aMineTest[nI] <= aOldMineTest[nJ])
							{
								if(m_aMineTest[nI] == aOldMineTest[nJ])
								{
									aOldMineTest[nJ] = -1;
									bFound = TRUE;
								}
								break;
							}
							
						}
						if(!bFound)
							m_aLandMine[m_aMineTest[nI]]->ButtonDown(1);
					};
				}
				else
					m_nMineTest = 0;
				if(m_nOldMine>=0)
				{
					for(nI=0;nI<nOldMineTest;nI++)
					{
						if(aOldMineTest[nI] != -1)
							m_aLandMine[aOldMineTest[nI]]->ButtonDown(0);
					}
				}
				m_nOldMine = nCurMine;
			}
		}
		
}
void CLandMine::BothButtonDown(CPoint point)
{
	int nCol=(point.x-m_nX)/16;
	int nRow=(point.y-m_nY)/16;
	int nCurMine = nCol+nRow*m_nCol;
	if (nRow >= m_nRow || nCol>=m_nCol || point.x<m_nX || point.y<m_nY )
		return;
	if(nCol<m_nCol && nRow<m_nRow)
	{
		RndBtShdDn(nCurMine);
		if(m_nMineTest>0)
		{
			int nI;
			for(nI=0;nI<m_nMineTest;nI++)
			{
				m_aLandMine[m_aMineTest[nI]]->ButtonDown(1);
			}
		}
		m_nOldMine = nCurMine;
	}
	else
		m_nOldMine = -1;
}
int CLandMine::BothButtonUp(CPoint point)
{
	int nCol=(point.x-m_nX)/16;
	int nRow=(point.y-m_nY)/16;
	int nCurMine = nCol+nRow*m_nCol;
	if (nRow >= m_nRow || nCol>=m_nCol || point.x<m_nX || point.y<m_nY )
		return 0;
	if (m_aLandMine[nCurMine]->GetStatus()==MS_OPEN)
	{
		
		int nMineRound,nMineRound1,nMineLeft=0,nNotOpen=0;
		int aMineWillOpen[8];
		nMineRound = GetLeft(nCurMine);
		if(nMineRound>=0)
		{
			if(m_aLandMine[nMineRound]->GetStatus()==MS_FLAG)
				nMineLeft++;
			aMineWillOpen[nNotOpen++] = nMineRound;
			nMineRound1 = GetTop(nMineRound);
			if(nMineRound1>=0)
			{
				if(m_aLandMine[nMineRound1]->GetStatus()==MS_FLAG)
					nMineLeft++;
				aMineWillOpen[nNotOpen++] = nMineRound1;
			}
			nMineRound1 = GetBot(nMineRound);
			if(nMineRound1>=0)
			{
				if(m_aLandMine[nMineRound1]->GetStatus()==MS_FLAG)
					nMineLeft++;
				aMineWillOpen[nNotOpen++] = nMineRound1;
			}
		}
		nMineRound = GetRight(nCurMine);
		if(nMineRound>=0)
		{
			if(m_aLandMine[nMineRound]->GetStatus()==MS_FLAG)
				nMineLeft++;
			aMineWillOpen[nNotOpen++] = nMineRound;
			nMineRound1 = GetTop(nMineRound);
			if(nMineRound1>=0)
			{
				if(m_aLandMine[nMineRound1]->GetStatus()==MS_FLAG)
					nMineLeft++;
				aMineWillOpen[nNotOpen++] = nMineRound1;
			}
			nMineRound1 = GetBot(nMineRound);
			if(nMineRound1>=0)
			{
				if(m_aLandMine[nMineRound1]->GetStatus()==MS_FLAG)
					nMineLeft++;
				aMineWillOpen[nNotOpen++] = nMineRound1;
			}
		}
		nMineRound = GetTop(nCurMine);
		if(nMineRound>=0)
		{
			if(nMineRound>=0 && m_aLandMine[nMineRound]->GetStatus()==MS_FLAG)
				nMineLeft++;
			aMineWillOpen[nNotOpen++] = nMineRound;
		}
		nMineRound = GetBot(nCurMine);
		if(nMineRound>=0)
		{
			
			if(nMineRound>=0 && m_aLandMine[nMineRound]->GetStatus()==MS_FLAG)
				nMineLeft++;
			aMineWillOpen[nNotOpen++] = nMineRound;
		}
		if (nMineLeft>=m_aLandMine[nCurMine]->GetMineNum())
		{
			int nI,nStatus;
			for(nI=0;nI<nNotOpen;nI++)
			{
				nStatus = OpenMine(aMineWillOpen[nI]);
				if(nStatus==FALSE)
				{
					
					int nI;
					for(nI=0;nI<m_nRow*m_nCol;nI++)
					{
						if(m_aLandMine[nI]->GetMineNum() == -1)
							m_aLandMine[nI]->DrawItem(TRUE);
						if(m_aLandMine[nI]->GetStatus() == MS_FLAG)
							m_aLandMine[nI]->DrawItem(TRUE);
					}
					return -1;
				}

			}
		}
		else
		{
			int nI;
			for(nI=0;nI<m_nMineTest;nI++)
			{
				m_aLandMine[m_aMineTest[nI]]->ButtonDown(0);
			}
		}
	}
	else
	{
		int nI;
		for(nI=0;nI<m_nMineTest;nI++)
		{
			m_aLandMine[m_aMineTest[nI]]->ButtonDown(0);
		}
	}
	return 0;
}
int CLandMine::RButtonDown(CPoint point)
{
	int nCol=(point.x-m_nX)/16;
	int nRow=(point.y-m_nY)/16;
	int nCurMine = nCol+nRow*m_nCol;
	if (nRow >= m_nRow || nCol>=m_nCol || point.x<m_nX || point.y<m_nY )
		return 0;
	if(m_aLandMine[nCurMine]->GetStatus() != MS_OPEN)
	{
		MINESTATUS nStatus;
		nStatus = m_aLandMine[nCurMine]->GetStatus();
		switch(nStatus)
		{
		case MS_FLAG:
			m_aLandMine[nCurMine]->SetStatus(MS_QUEST);
			m_aLandMine[nCurMine]->DrawItem(FALSE);
			return 1;
		case MS_QUEST:
			m_aLandMine[nCurMine]->SetStatus(MS_NORMAL);
			m_aLandMine[nCurMine]->DrawItem(FALSE);
			return 0;
		case MS_NORMAL:
			m_aLandMine[nCurMine]->SetStatus(MS_FLAG);
			m_aLandMine[nCurMine]->DrawItem(FALSE);
			return -1;
		}
		
	}
	return 0;
}


void CLandMine::RndBtShdDn(int nCurMine)
{
	m_nMineTest = 0;
	int nMineRound,nMineRound1,nMineRound2;
	
	nMineRound1 = GetLeft(nCurMine);
	nMineRound2 = GetRight(nCurMine);
	if(nMineRound1>=0)
	{
		nMineRound = GetTop(nMineRound1);
		if(nMineRound>=0 && (m_aLandMine[nMineRound]->GetStatus()==MS_NORMAL || m_aLandMine[nMineRound]->GetStatus()==MS_QUEST))
		{
			m_aMineTest[m_nMineTest++] = nMineRound;		//left top
		}
	}
	nMineRound = GetTop(nCurMine);
	if(nMineRound>=0 && (m_aLandMine[nMineRound]->GetStatus()==MS_NORMAL || m_aLandMine[nMineRound]->GetStatus()==MS_QUEST))
	{
		m_aMineTest[m_nMineTest++] = nMineRound;		//top
	}
	
	if(nMineRound2>=0)
	{
		nMineRound = GetTop(nMineRound2);
		if(nMineRound>=0 && (m_aLandMine[nMineRound]->GetStatus()==MS_NORMAL || m_aLandMine[nMineRound]->GetStatus()==MS_QUEST))
		{
			m_aMineTest[m_nMineTest++] = nMineRound;		//right top
		}
	}
	if(nMineRound1>=0 && (m_aLandMine[nMineRound1]->GetStatus()==MS_NORMAL || m_aLandMine[nMineRound1]->GetStatus()==MS_QUEST))
		m_aMineTest[m_nMineTest++] = nMineRound1;		//left
	if(m_aLandMine[nCurMine]->GetStatus() == MS_NORMAL ||m_aLandMine[nCurMine]->GetStatus() == MS_QUEST)
		m_aMineTest[m_nMineTest++] = nCurMine;			//current
	if(nMineRound2>=0 && (m_aLandMine[nMineRound2]->GetStatus()==MS_NORMAL || m_aLandMine[nMineRound2]->GetStatus()==MS_QUEST))
		m_aMineTest[m_nMineTest++] = nMineRound2;		//right
	
	if(nMineRound1>=0)
	{
		nMineRound = GetBot(nMineRound1);
		if(nMineRound>=0 && (m_aLandMine[nMineRound]->GetStatus()==MS_NORMAL || m_aLandMine[nMineRound]->GetStatus()==MS_QUEST))
		{
			m_aMineTest[m_nMineTest++] = nMineRound;		//left bot
		}
		
	}
	
	nMineRound = GetBot(nCurMine);
	if(nMineRound>=0 && (m_aLandMine[nMineRound]->GetStatus()==MS_NORMAL || m_aLandMine[nMineRound]->GetStatus()==MS_QUEST))
	{
		m_aMineTest[m_nMineTest++] = nMineRound;		//bot
	}
	
	if(nMineRound2>=0)
	{
		nMineRound = GetBot(nMineRound2);
		if(nMineRound>=0 && (m_aLandMine[nMineRound]->GetStatus()==MS_NORMAL || m_aLandMine[nMineRound]->GetStatus()==MS_QUEST))
		{
			m_aMineTest[m_nMineTest++] = nMineRound;		//right bot
		}
	}
		
};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲日本青草视频在线怡红院| 欧美日韩视频在线第一区| 精品精品国产高清a毛片牛牛| 奇米色一区二区| 精品国产91洋老外米糕| 精品一区二区三区在线播放视频| 精品国产一区二区三区久久久蜜月| 老司机精品视频导航| 久久免费偷拍视频| www..com久久爱| 一区二区三区四区不卡在线| 欧美日韩三级在线| 国产麻豆一精品一av一免费| 中文字幕乱码日本亚洲一区二区 | 91国产成人在线| 亚洲国产三级在线| 精品久久人人做人人爽| 成人视屏免费看| 亚洲一区二区三区四区五区黄 | 91浏览器打开| 午夜精品福利在线| 精品国产精品一区二区夜夜嗨| 国产成人午夜99999| 一区二区三区四区精品在线视频| 91超碰这里只有精品国产| 精品一区二区日韩| 综合久久久久久| 制服丝袜亚洲色图| 国产.欧美.日韩| 亚洲成av人片在线观看| 久久亚洲综合av| 91久久精品网| 国产露脸91国语对白| 一区二区三区在线观看动漫 | 欧美精品一区二区三区蜜桃视频| 成人小视频免费在线观看| 一区二区不卡在线播放| 精品国产一区a| 精品视频全国免费看| 国产在线精品不卡| 亚洲福利电影网| 久久久蜜臀国产一区二区| 91黄色免费版| 国产福利视频一区二区三区| 天堂午夜影视日韩欧美一区二区| 国产午夜亚洲精品理论片色戒| 欧美中文字幕一区二区三区亚洲| 国产精品亚洲视频| 美日韩一区二区三区| 亚洲欧美日韩久久精品| 久久精品视频网| 911精品国产一区二区在线| 成人禁用看黄a在线| 蜜乳av一区二区| 一级特黄大欧美久久久| 亚洲国产精品黑人久久久| 91精品在线观看入口| 在线看一区二区| 成人app网站| 国产精品一区二区免费不卡| 日韩成人精品在线观看| 一二三四区精品视频| 亚洲欧洲性图库| 久久久99精品免费观看| 日韩欧美亚洲国产另类| 欧美日本一区二区三区四区| 色呦呦网站一区| 91在线观看污| proumb性欧美在线观看| 国产成人精品免费看| 国产一区欧美二区| 另类欧美日韩国产在线| 青娱乐精品视频| 蜜臀精品一区二区三区在线观看| 亚洲一区在线免费观看| 亚洲综合999| 亚洲另类在线一区| 亚洲黄一区二区三区| 亚洲精品综合在线| 亚洲黄色免费电影| 亚洲国产精品一区二区久久恐怖片| 国产精品成人在线观看| 中文字幕一区二区三区乱码在线| 中文一区二区在线观看 | 国产精品麻豆久久久| 亚洲国产精品t66y| 亚洲同性gay激情无套| 国产精品日韩精品欧美在线| 中文子幕无线码一区tr| 最新热久久免费视频| 亚洲精品视频在线观看免费| 亚洲免费观看高清| 午夜欧美视频在线观看| 奇米一区二区三区| 国产成人精品影院| 北条麻妃一区二区三区| 91社区在线播放| 欧美色网站导航| 欧美一区二区精品在线| 欧美mv日韩mv| 欧美国产精品劲爆| 亚洲欧美一区二区三区久本道91| 亚洲专区一二三| 日本 国产 欧美色综合| 国产精品自拍一区| 91亚洲精品乱码久久久久久蜜桃| 91久久香蕉国产日韩欧美9色| 欧美疯狂性受xxxxx喷水图片| 在线观看91av| 精品入口麻豆88视频| 国产精品毛片久久久久久久| 怡红院av一区二区三区| 欧美96一区二区免费视频| 国产精品自在在线| 欧美性videosxxxxx| 欧美xxx久久| 国产精品不卡在线| 另类专区欧美蜜桃臀第一页| 成人久久视频在线观看| 欧美亚洲综合在线| 精品久久久久久久久久久久久久久| 国产精品视频免费| 日韩精品一级二级| www.av精品| 欧美大白屁股肥臀xxxxxx| 中文字幕一区二区三区色视频| 日韩在线a电影| av一本久道久久综合久久鬼色| 欧美精品第1页| 国产精品福利一区二区三区| 秋霞影院一区二区| 在线国产电影不卡| 久久影院午夜片一区| 亚洲一区二区欧美| 国产不卡高清在线观看视频| 欧美精品九九99久久| 亚洲人精品一区| 国产露脸91国语对白| 欧美一级理论片| 一区二区三区产品免费精品久久75| 国产在线不卡视频| 欧美一区二区美女| 亚洲成人精品在线观看| 91免费视频观看| 国产亚洲欧美日韩日本| 九九精品视频在线看| 欧美精品aⅴ在线视频| 亚洲精品亚洲人成人网 | 国内精品视频一区二区三区八戒| 欧洲精品在线观看| 中文字幕色av一区二区三区| 国产美女视频91| 欧美成人女星排名| 日韩高清在线电影| 欧美精品国产精品| 性做久久久久久| 在线日韩av片| 国产精品私人影院| 成人高清在线视频| 欧美激情一区二区三区蜜桃视频 | 麻豆91精品视频| 91精品国产综合久久蜜臀| 亚洲国产精品一区二区久久| 色综合天天综合网国产成人综合天 | 天堂资源在线中文精品| 97久久精品人人爽人人爽蜜臀| 久久久亚洲精品石原莉奈| 国产一区高清在线| 久久―日本道色综合久久| 黑人精品欧美一区二区蜜桃| 日韩欧美你懂的| 奇米在线7777在线精品| 777欧美精品| 日本中文一区二区三区| 日韩欧美第一区| 国产精品一区二区x88av| 久久理论电影网| 成人一区二区三区在线观看| 国产精品天美传媒沈樵| 99这里只有久久精品视频| 亚洲欧美在线观看| 色国产精品一区在线观看| 中文字幕日韩欧美一区二区三区| 91视频精品在这里| 亚洲永久免费视频| 8x福利精品第一导航| 国产一区二三区| 一区免费观看视频| 欧美色爱综合网| 男人的天堂亚洲一区| 国产欧美一区二区三区在线看蜜臀 | 国产精品美女久久久久久| 91网址在线看| 亚洲高清免费观看高清完整版在线观看| 欧美亚洲免费在线一区| 免费成人在线观看| 国产精品人成在线观看免费| 91官网在线观看| 精品一区二区日韩| 最新国产成人在线观看|