8,325
社区成员
发帖
与我相关
我的任务
分享
int success = 30;//成功比率
int failed = 60;//失败比率
int rateTotal = success + failed;
int randVal = rand()%rateTotal;
if( randVal < success )
{
//成功
return true;
}
else
{
失败
return false;
}
认识类C语言的话这样最直接了吧
if(iRate > iRandom) {
/* 合成成功 */
}
else {
/* 合成失败 */
}
int rates[10] = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100};
int iEqupIndex = 0; // 装备 index, 0 ~ 9
int iRandom = random() % 100; // 随机的一个 [0, 99) 的数
int iRate = rates[iEquipIndex]; // 指定的这个装备合成的成功率
if(iRandom >= iRate)
{
// 合成成功
}
else
{
// 合成失败,爆掉了???
}