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


C++ WriteBuffer::clear方法代码示例

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


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

示例1: move

unique_ptr<Card> PlayerServer::judge()
{
	auto card = move(GAME->drawCards(1).front());
	WriteBuffer wb;
	wb << card->id;
	GAME->notify(100, Notify_JudgeStart, wb);
	TRIEV(t_Judge, &card);
	wb.clear();
	wb << card->id;
	GAME->notify(100, Notify_JudgeEnd, wb);
	return card;
}
开发者ID:popkc,项目名称:FreeSanGuoSha,代码行数:12,代码来源:player.cpp

示例2: died

void PlayerServer::died(PlayerServer *killer)
{
	WriteBuffer wb;
	wb << position;
	GAME->notify(100, Notify_PlayerDied, wb);
	TRIEV(t_PlayerDied,&killer);
	alive = false;
	eventsRegister.clear();
	wb.clear();
	wb << position << role;
	GAME->notify(100, Notify_PlayerRole, wb);
	switch (role)
	{
	case Role_Zhu:
	{
		int aliveNei = 0;
		for (auto player : game->players) {
			if (player->alive) {
				if (player->role==Role_Nei) {
					aliveNei++;
				}
				else {
					throw Role_Fan;
				}
			}
		}
		if (aliveNei == 1) {
			throw Role_Nei;
		}
		else
			throw Role_Fan;
		break;
	}
	case Role_Zhong:
		if (killer && killer->role==Role_Zhu) {
			killer->discardAll();
		}
		break;
	case Role_Fan:
		if (killer) {
			killer->getHands(GAME->drawCards(3));
		}
	case Role_Nei:
	{
		for (auto player : game->players) {
			if (player->alive && player->role != Role_Zhu && player->role != Role_Zhong) {
				goto endSwitch;
			}
		}
		throw Role_Zhu;
	}
	}
endSwitch:;
	discardAll();
	for (int i = 0; i < 3; i++) {
		if (this->judgingArea[i]) {
			list<unique_ptr<Card>> cards;
			cards.push_back(move(loseJudgingArea((JudgingArea)i)));
			discardCards(cards);
		}
	}
	for (auto &p : skillCards) {
		for (auto &card : p.second) {
			GAME->addToDeadwood(card);
		}
	}
}
开发者ID:popkc,项目名称:FreeSanGuoSha,代码行数:67,代码来源:player.cpp


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