我有以下战斗代码,但用户将赢得大约 99.9% 的时间(用 5000 个随机循环测试)
我有以下影响战斗的变量
实力 | 防御| 灵巧| 损坏 | 传送门难度(总是 + 1 停止 * 0)| 危急
这是我到目前为止所拥有的
//player variable
//(int) player.itemDamage = 20
//(int) player.itemStr = 2
//(int) player.itemDex = 4
int defense = (int)Math.Round((((portal + 1) * ((rand.NextDouble() + 0.5))) + 5) / 2, 0);
int damage = (int)Math.Round((((portal + 1) * ((rand.NextDouble() + 0.5))) + player.itemDamage), 0);
int str = (int)Math.Round((((portal + 1) * ((rand.NextDouble() + 0.5))) + player.itemStr), 0);
int dex = (int)Math.Round((((portal + 1) * ((rand.NextDouble() + 0.5))) + player.itemDex), 0);
while(true)
{
for (int i = 0; i < 10; i++)
{
critical += rand.NextDouble();
}
eHP -= (int)Math.Round((((player.itemDamage + player.itemStr) - defense) * critical) / 2, 0);
critical = 1;
for (int i = 0; i < 10; i++)
{
critical += rand.NextDouble();
}
HP -= (int)Math.Round((((damage + str) - 5) * critical) / 2, 0);
if (eHP <= 0)
{
return;
}
else if (HP <= 0)
{
return;
}
}
我可以在以下代码中进行哪些更改以让用户(HP)赢得 70% 的时间,我可以得到一些建议吗?我的算法很糟糕非常有趣的战斗。