[英]How to make a value not increase greater than a maximum value in a progress bar
我正在尝试制作一个程序,其中的值随着按钮的按下而增加,并且进度显示在进度栏中。 最小值为0,最大值为100,我对其进行了编码,因此,如果该值达到100以上,则使该值等于100。但是,它不断超过100,并给我一个错误。 我是编程新手,不确定自己的错误在哪里。
if (happyLevel < 100)
{
happyLevel = happyLevel + 4;
}
else if (happyLevel > 100)
{
happyLevel = 100;
}
if (hungryLevel < 100)
{
hungryLevel = hungryLevel + 4;
}
else if (hungryLevel > 100)
{
hungryLevel = 100;
}
if (healthLevel < 100)
{
healthLevel = healthLevel + 4;
}
else if (healthLevel > 100)
{
healthLevel = 100;
}
您正在使用else if
检查else if
,这意味着else if
变量中的数字大于96,则+ 4
可能会将任何变量增加到100以上。 一个快速的方法来解决它是去除所有else
之前的S if
这样你做检查不管秒。
如果其中一个级别是98,它将输入与之相关的第一个if语句,并更新为102,而不输入else if。 快速简便的解决方法是将else if更改为if。
您不希望其他对象在那里。 您必须考虑如果将4设置为100以上,会发生什么情况:
if(happyLevel < 100)
happyLevel += 4;
if(happyLevel > 100)
happyLevel = 100;
附带说明,该代码也可以替换为:
happyLevel = Math.Min(100, happyLevel + 4);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.