예제 #1
0
파일: bot.c 프로젝트: frickler01/turac
// decide what to do and do it
void botPlay(playerT *botP, partyT *partyP, tableT *tableP, int trumpSuit)
{
	if (botP == partyP->defender)
	{
		// check if table is already beaten or already taken cards
		if (playerInRound(botP) && !tableBeaten(tableP))
		{
			botDefend(botP,tableP,trumpSuit);
		}
	}
	else
	{
		// only attack if not done
		if (playerInRound(botP))
		{
			botAttack(botP,partyP,tableP,trumpSuit);
		}
	}
}
예제 #2
0
void BotStateResponse::fromJson(const QString& json)
{
    QJsonDocument document = QJsonDocument::fromJson(json.toUtf8());
    QJsonObject documentObject = document.object();

    _id = documentObject["id"].toInt();

    QJsonObject botObject = documentObject["bot"].toObject();

    QString botId = botObject["id"].toString();
    QString botIp = botObject["ip"].toString();
    QString botOs = botObject["os"].toString();
    BotState botState = static_cast<BotState>(botObject["state"].toInt());

    QJsonObject attackObject = botObject["attack"].toObject();

    int attackId = attackObject["id"].toInt();
    QString attackTarget = attackObject["target"].toString();

    Attack botAttack(attackId, attackTarget);

    _bot = new Bot(botId, botIp, botOs, botState, botAttack);
}