当前位置: 首页>>代码示例>>C++>>正文


C++ Position::GetThisThread方法代码示例

本文整理汇总了C++中Position::GetThisThread方法的典型用法代码示例。如果您正苦于以下问题:C++ Position::GetThisThread方法的具体用法?C++ Position::GetThisThread怎么用?C++ Position::GetThisThread使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Position的用法示例。


在下文中一共展示了Position::GetThisThread方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: GoToTheAdventure_new

//*
ScoreIndex NodetypeRoot::GoToTheAdventure_new(
	Rucksack& rucksack,
	Position& pos,
	Flashlight* pFlashlight,//サーチスタック
	ScoreIndex alpha,
	ScoreIndex beta,
	const Depth depth,
	const bool cutNode
	) const {

	assert(-ScoreInfinite <= alpha && alpha < beta && beta <= ScoreInfinite);
	assert(Depth0 < depth);

	// 途中で goto を使用している為、先に全部の変数を定義しておいた方が安全。
	Move movesSearched[64];
	StateInfo st;
	const TTEntry* pTtEntry = nullptr;//(^q^)トランスポジション・テーブル・エントリー☆?
	SplitedNode* pSplitedNode = nullptr;//(^q^)
	Key posKey;
	Move ttMove;
	Move move;
	Move excludedMove;
	Move bestMove;
	Move threatMove;
	Depth newDepth;
	Depth extension;
	ScoreIndex bestScore;
	ScoreIndex score;
	ScoreIndex ttScore;
	ScoreIndex eval;
	bool inCheck;
	bool givesCheck;
	bool isPVMove;
	bool singularExtensionNode;
	bool captureOrPawnPromotion;
	bool dangerous;
	bool doFullDepthSearch;
	int moveCount;
	int playedMoveCount;

	// step1
	// initialize node
	Military* pThisThread = pos.GetThisThread();
	moveCount = playedMoveCount = 0;
	inCheck = pos.InCheck();

	//bool isGotoSplitPointStart = false;

	this->DoStep1b(
		bestScore,
		&pFlashlight,
		threatMove,
		bestMove
		);
	this->DoStep1c(
		&pThisThread,
		pFlashlight
		);

	//bool isReturnWithScore = false;
	//ScoreIndex returnScore = ScoreIndex::ScoreNone;


	pos.SetNodesSearched(pos.GetNodesSearched() + 1);

	// step4
	this->DoStep4(
		excludedMove,
		&pFlashlight,
		posKey,
		pos,
		&pTtEntry,//セットされる☆
		rucksack,
		ttScore
		);
	this->DoStep4x(
		ttMove,
		rucksack,
		pTtEntry,
		pos
		);

	// step5
	bool isGotoIidStart = false;//NonPVのとき使う☆
	this->DoStep5(
		isGotoIidStart,
		rucksack,
		eval,
		&pFlashlight,
		pos,
		inCheck,
		pTtEntry,
		ttScore,
		posKey,
		move
		);
	/*
	if (isGotoIidStart) {
		goto iid_start;
//.........这里部分代码省略.........
开发者ID:muzudho,项目名称:Kifuwarapery,代码行数:101,代码来源:n887_100_nodeTypeRoot.cpp


注:本文中的Position::GetThisThread方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。