gpt4 book ai didi

c# - 战斗的数学方程式

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:12:14 24 4
gpt4 key购买 nike

我有以下战斗代码,但用户将在大约 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% 的时间,我可以得到一些建议吗?我对算法很糟糕编辑:虽然我希望用户在 70% 的时间里获胜,但我仍然希望它是基于伤害的回合,而不是使用简单的 if(0 > 70) win else 松散的声明,因为那不会是一场非常有趣的战斗。

最佳答案

if (rand.next(10) > 7) {
//user wins
} else {
//user loses
}

关于c# - 战斗的数学方程式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13551172/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com