本文整理汇总了C++中BS::randint方法的典型用法代码示例。如果您正苦于以下问题:C++ BS::randint方法的具体用法?C++ BS::randint怎么用?C++ BS::randint使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BS
的用法示例。
在下文中一共展示了BS::randint方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: tp
static void tp(int p, int s, BS &b) {
if (!b.isOut(s)) {
return;
}
int berry = b.poke(s).item();
QVector<int> stats;
for (int i = Attack; i <= Evasion; i++) {
if (fpoke(b,s).boosts[i] < 6) {
stats.push_back(i);
}
}
if (stats.empty())
return;
if (!testpinch(p, s, b, 4, false))
return;
int stat = stats[b.randint(stats.size())];
if (b.hasWorkingAbility(s, Ability::Contrary)) {
b.sendBerryMessage(9,s,1,s, berry, stat);
} else {
b.sendBerryMessage(9,s,0,s, berry, stat);
}
b.inflictStatMod(s, stat, 2, s, false);
}
示例2: aaf
static void aaf(int t, int, BS &b) {
if (turn(b,t)["RedCardCount"] != slot(b,t)["SwitchCount"])
return;
int s = turn(b,t)["RedCardUser"].toInt();
if (b.koed(s) || b.koed(t) || turn(b,t)["RedCardGiverCount"] != slot(b,s)["SwitchCount"])
return;
if (!b.hasWorkingItem(s, Item::RedCard))
return;
int target = b.player(t);
if (b.countBackUp(target) == 0) {
return;
}
b.sendItemMessage(38, s, 0, t);
b.disposeItem(s);
/* ingrain & suction cups */
if (poke(b,t).value("Rooted").toBool()) {
b.sendMoveMessage(107, 1, s, Pokemon::Grass,t);
return;
} else if (b.hasWorkingAbility(t,Ability::SuctionCups)) {
b.sendMoveMessage(107, 0, s, 0,t);
return;
}
QList<int> switches;
for (int i = 0; i < 6; i++) {
if (!b.isOut(target, i) && !b.poke(target,i).ko()) {
switches.push_back(i);
}
}
b.sendBack(t, true);
b.sendPoke(t, switches[b.randint(switches.size())], true);
b.sendMoveMessage(107,2,s,0,t);
b.callEntryEffects(t);
turn(b,t).remove("RedCardUser");
}