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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? gsesearchengine.cpp

?? 八數(shù)碼難題用vc++編寫
?? CPP
字號(hào):
// AlphaBetaSearch.cpp: implementation of the CGSESearchEngine class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "EightNum.h"
#include "GSESearchEngine.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CGSESearchEngine::CGSESearchEngine()
{
	m_iPly=0;
	m_pMG=new CMoveGenerator;
	m_pEval=new CEveluation;
}

CGSESearchEngine::~CGSESearchEngine()
{
}

CGSESearchEngine::SearchAGoodMove(BYTE byBoard[][3])
{
	int i;
	int iPly=0;
	int iSmallest;//記錄同一層節(jié)點(diǎn)中的最小值
	int iTemp;
	queue<CHESSMOVE> tempQueue;
	int iCount;
	int iNodes=0;
	CHESSMOVE cmLast;//得到目標(biāo)狀態(tài)的最后一個(gè)走法
	CHESSMOVE cmTemp;
	CHESSMOVE cmParent;
	CHESSMOVE cmParentBackUp;
	bool bIsOver=0;//是否已得出目標(biāo)狀態(tài)

	iCount=m_pMG->CreatePossibleMove(byBoard,m_iPly,0);

	//已得出目標(biāo)狀態(tài)
	if(!iCount)
	{
		m_pMG->m_MoveList[m_iPly][iNodes].npParent=cmParentBackUp.npMe;
		m_pMG->m_MoveList[m_iPly][iNodes].npMe.byPly=m_iPly+1;
		m_pMG->m_MoveList[m_iPly][iNodes].npMe.byNum=iNodes;
		memcpy(m_pMG->m_MoveList[m_iPly][iNodes].byBoard,byBoard,9);
		cmLast=m_pMG->m_MoveList[m_iPly][iNodes];
		bIsOver=1;

		goto GetBestMove;
	}

	for(i=0;i<iCount;i++)
	{
		m_pMG->m_MoveList[m_iPly][i].npMe.byPly=m_iPly;
		m_pMG->m_MoveList[m_iPly][i].npMe.byNum=i;
		memcpy(m_pMG->m_MoveList[m_iPly][i].byBoard,byBoard,9);
		m_queueMove.push(m_pMG->m_MoveList[m_iPly][i]);
	}

	while(!m_queueMove.empty())
	{
		iPly=m_queueMove.front().iPly;
		
		//--------遍歷隊(duì)列中同一層的走法,找出走法的最佳值--------
		iSmallest=10;
		while(iPly==m_queueMove.front().iPly)
		{
			MakeMove(m_queueMove.front().byBoard,m_queueMove.front());
			iTemp=m_pEval->Eveluate(m_queueMove.front().byBoard);
			if(iTemp<iSmallest)
				iSmallest=iTemp;
			UnMakeMove(m_queueMove.front().byBoard,m_queueMove.front());
			tempQueue.push(m_queueMove.front());
			m_queueMove.pop();

			if(m_queueMove.empty())
				break;
		}
		//-------------------------------------------------------


		//---------------將好的走法的子節(jié)點(diǎn)入隊(duì)列----------------
		iNodes=0;
		while(iPly==tempQueue.front().iPly)
		{
			cmParent=tempQueue.front();
			cmParentBackUp=cmParent;
			MakeMove(cmParent.byBoard,cmParent);
			iTemp=m_pEval->Eveluate(cmParent.byBoard);
			if(iTemp==iSmallest)
			{
				//產(chǎn)生子節(jié)點(diǎn)
				iCount=m_pMG->CreatePossibleMove(cmParent.byBoard,m_iPly+1,cmParent.byDirect);

				//已得出目標(biāo)狀態(tài)
				if(!iCount)
				{
					m_pMG->m_MoveList[m_iPly+1][iNodes].npParent=cmParentBackUp.npMe;
					m_pMG->m_MoveList[m_iPly+1][iNodes].npMe.byPly=m_iPly+1;
					m_pMG->m_MoveList[m_iPly+1][iNodes].npMe.byNum=iNodes;
					memcpy(m_pMG->m_MoveList[m_iPly+1][iNodes].byBoard,cmParent.byBoard,9);
					cmLast=m_pMG->m_MoveList[m_iPly+1][iNodes];
					bIsOver=1;

					goto GetBestMove;
				}

				//將子節(jié)點(diǎn)入隊(duì)列
				for(i=0;i<iCount;i++)
				{
					m_pMG->m_MoveList[m_iPly+1][i+iNodes].npParent=cmParentBackUp.npMe;
					m_pMG->m_MoveList[m_iPly+1][i+iNodes].npMe.byPly=m_iPly+1;
					m_pMG->m_MoveList[m_iPly+1][i+iNodes].npMe.byNum=i+iNodes;
					memcpy(m_pMG->m_MoveList[m_iPly+1][i+iNodes].byBoard,cmParent.byBoard,9);
					m_queueMove.push(m_pMG->m_MoveList[m_iPly+1][i+iNodes]);
				}
				iNodes+=iCount;
			}
			UnMakeMove(cmParent.byBoard,cmParent);
			tempQueue.pop();

			if(tempQueue.empty())
				break;
		}
		//-------------------------------------------------------

		m_iPly++;
	}

GetBestMove:
	//得出最佳走法隊(duì)列
	if(bIsOver)
	{
		memcpy(cmTemp.byBoard,cmLast.byBoard,9);
		MakeMove(cmTemp.byBoard,cmLast);
		m_stackBestMove.push(cmTemp);
		m_stackBestMove.push(cmLast);
		while(memcmp(cmLast.byBoard,byBoard,9))
		{
			m_stackBestMove.push(m_pMG->m_MoveList[cmLast.npParent.byPly][cmLast.npParent.byNum]);
			cmLast=m_pMG->m_MoveList[cmLast.npParent.byPly][cmLast.npParent.byNum];
		}
	}
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产成人自拍| 一区二区三区中文免费| 色哟哟精品一区| 五月婷婷久久综合| 国产精品精品国产色婷婷| 欧美夫妻性生活| 91香蕉视频mp4| 国产精品白丝jk白祙喷水网站| 亚洲一二三专区| 久久精品日产第一区二区三区高清版 | 成人av资源站| 久久99九九99精品| 丝瓜av网站精品一区二区| 亚洲欧洲99久久| 国产性做久久久久久| 日韩一卡二卡三卡国产欧美| 91成人免费网站| 99r精品视频| 国产v日产∨综合v精品视频| 久久99久久精品| 奇米四色…亚洲| 午夜精品久久久久久久99水蜜桃| 国产精品三级视频| 久久久久一区二区三区四区| 91精品国产综合久久婷婷香蕉 | 欧美视频一二三区| 99re这里只有精品视频首页| 成人久久18免费网站麻豆| 国产美女精品在线| 精品一区二区三区影院在线午夜| 日本不卡免费在线视频| 亚洲mv在线观看| 亚洲成a人片在线不卡一二三区| 亚洲色图在线看| 亚洲人成在线播放网站岛国| 中文字幕人成不卡一区| 国产精品网曝门| 国产精品欧美久久久久一区二区| 欧美精品一区二区三区很污很色的| 日韩欧美精品在线视频| 日韩精品资源二区在线| 精品国产区一区| 亚洲精品在线三区| 久久精品人人做人人爽97| 久久精品网站免费观看| 日韩一区二区三区视频在线| 日韩免费在线观看| 欧美精品一区二区精品网| 国产亚洲女人久久久久毛片| 国产亚洲成av人在线观看导航| 欧美韩国日本不卡| 亚洲欧洲日韩av| 亚洲图片另类小说| 亚洲成人久久影院| 毛片av中文字幕一区二区| 老司机精品视频导航| 国产乱子伦一区二区三区国色天香| 国产又粗又猛又爽又黄91精品| 国产经典欧美精品| 91在线免费看| 欧美日韩午夜影院| 欧美亚洲动漫制服丝袜| 91麻豆精品国产91久久久| 久久婷婷国产综合精品青草| 国产农村妇女精品| 亚洲精品国产品国语在线app| 亚洲国产一区二区在线播放| 日韩激情av在线| 国产一区福利在线| 91一区一区三区| 欧美人妖巨大在线| 精品999在线播放| 国产精品久久久久久久久久久免费看| 国产精品嫩草影院com| 亚洲综合色视频| 狠狠狠色丁香婷婷综合久久五月| 成人va在线观看| 欧美精品tushy高清| 亚洲精品一区二区三区99| 欧美国产精品一区| 爽爽淫人综合网网站| 丰满亚洲少妇av| 欧美日韩一卡二卡三卡| 国产亚洲欧洲一区高清在线观看| 一区二区中文字幕在线| 奇米影视在线99精品| www.欧美.com| 91精品国产乱码| 中文字幕日本不卡| 捆绑紧缚一区二区三区视频| 99re这里都是精品| 精品少妇一区二区三区日产乱码| 最新欧美精品一区二区三区| 日本美女一区二区三区视频| 不卡的电视剧免费网站有什么| 91麻豆精品国产无毒不卡在线观看| 国产精品沙发午睡系列990531| 日韩电影在线一区二区三区| 成人教育av在线| 日韩精品一区二区三区蜜臀| 亚洲女人****多毛耸耸8| 久久99精品一区二区三区三区| 在线观看免费视频综合| 欧美国产日产图区| 国产资源在线一区| 666欧美在线视频| 亚洲男女一区二区三区| 国产精品99久久不卡二区| 欧美老年两性高潮| 亚洲伦理在线免费看| 国产成人av一区二区| 日韩一级精品视频在线观看| 亚洲制服丝袜在线| 99国产精品久久久久久久久久| 久久色在线观看| 美日韩黄色大片| 欧美片网站yy| 亚洲成人福利片| 在线视频一区二区三| 亚洲视频在线观看三级| 成人国产在线观看| 国产网站一区二区| 激情成人午夜视频| 欧美成人性福生活免费看| 三级一区在线视频先锋 | 中文字幕精品三区| 国产乱子伦视频一区二区三区 | 亚洲精品国产一区二区三区四区在线 | 国产欧美日韩不卡| 国产精品主播直播| 久久久99免费| 激情六月婷婷久久| 精品国产免费一区二区三区四区| 日韩成人免费看| 欧美一区二区三区视频| 日韩经典一区二区| 日韩欧美精品三级| 久久国产剧场电影| 欧美精品一区二| 国产一区二区毛片| 久久精品人人做人人爽人人| 国产成人av一区二区三区在线观看| 国产网站一区二区| av电影天堂一区二区在线| 亚洲欧美怡红院| 欧美在线不卡一区| 午夜a成v人精品| 日韩写真欧美这视频| 蜜桃视频免费观看一区| 2021国产精品久久精品| 成人一区二区三区视频| 日韩一区有码在线| 在线观看国产精品网站| 天堂va蜜桃一区二区三区| 日韩欧美一级精品久久| 狠狠狠色丁香婷婷综合激情| 欧美激情资源网| 国产日产亚洲精品系列| 国产成人精品免费网站| 成人免费一区二区三区视频| 欧美亚洲尤物久久| 免费成人在线网站| 中文在线资源观看网站视频免费不卡| 99久久伊人精品| 一区二区三区高清| 91精品久久久久久久91蜜桃 | 北条麻妃国产九九精品视频| 亚洲欧美偷拍卡通变态| 7777精品伊人久久久大香线蕉最新版| 激情综合色丁香一区二区| 国产精品精品国产色婷婷| 欧美另类久久久品| 国产精品一区二区久久精品爱涩 | 精品少妇一区二区三区视频免付费| 国产成人99久久亚洲综合精品| 亚洲男人电影天堂| 91精品国产91久久久久久一区二区 | 国产精品456露脸| 一区二区三区在线视频观看58| 欧美一区二区三区播放老司机| 成人在线视频一区| 天堂久久久久va久久久久| 久久理论电影网| 欧美性受xxxx| 国产91精品露脸国语对白| 偷拍亚洲欧洲综合| 国产精品乱码一区二三区小蝌蚪| 欧美日韩国产小视频在线观看| 国产成人自拍在线| 午夜免费久久看| 亚洲欧洲精品天堂一级| 精品久久久久99| 欧亚洲嫩模精品一区三区| 国产精品1024久久| 美女诱惑一区二区| 夜夜精品视频一区二区| 日本一区二区视频在线观看| 91精品国产综合久久久久久| 91老师片黄在线观看| 国产毛片精品视频|