从总数中减去旧数据以保持正确的总数
Subtracting old data from total to keep a correct total
我正在 CLR 中编写一个 RPG 角色构建器,在一个事件中,您可以在构建点总数的指导方针内设置您的角色统计信息。
但是,注意到一个简单的问题。如果您点击提交统计数据按钮,它会不断添加他们的统计数据,使使用的构建点总数越来越高,直到您必须关闭应用程序并重新启动。
if (Old_Stat_total >0){
Buildpoints_Max -= Old_Stat_total;
}
Stat_total = Power_value + Speed_value + Range_value +
Precision_value + Durability_value + Potential_value;
Stat_total = Old_Stat_total;
Buildpoint_total += Stat_total;
if (Buildpoint_total > Buildpoints_Max){
MessageBox::Show("Exceeded buildpoint allotment");
}
else{
MessageBox::Show("Total used buildpoints from stats: " + Stat_total + "\n");
}
每当出现消息框时,它总是说它正在用完 0 个构建点。
当我注释掉所有 Old_Stat_total 的东西时,它的行为就像它应该的那样,但是复合添加使项目有点笨拙。我只是想知道我是否遗漏了什么或者我做的事情不正确。
来自您的代码:
Stat_total = Power_value + Speed_value + Range_value +
Precision_value + Durability_value + Potential_value;
Stat_total = Old_Stat_total;
如您所见,您计算 Stat_total
并用 Old_Stat_total
覆盖它
我正在 CLR 中编写一个 RPG 角色构建器,在一个事件中,您可以在构建点总数的指导方针内设置您的角色统计信息。
但是,注意到一个简单的问题。如果您点击提交统计数据按钮,它会不断添加他们的统计数据,使使用的构建点总数越来越高,直到您必须关闭应用程序并重新启动。
if (Old_Stat_total >0){
Buildpoints_Max -= Old_Stat_total;
}
Stat_total = Power_value + Speed_value + Range_value +
Precision_value + Durability_value + Potential_value;
Stat_total = Old_Stat_total;
Buildpoint_total += Stat_total;
if (Buildpoint_total > Buildpoints_Max){
MessageBox::Show("Exceeded buildpoint allotment");
}
else{
MessageBox::Show("Total used buildpoints from stats: " + Stat_total + "\n");
}
每当出现消息框时,它总是说它正在用完 0 个构建点。 当我注释掉所有 Old_Stat_total 的东西时,它的行为就像它应该的那样,但是复合添加使项目有点笨拙。我只是想知道我是否遗漏了什么或者我做的事情不正确。
来自您的代码:
Stat_total = Power_value + Speed_value + Range_value +
Precision_value + Durability_value + Potential_value;
Stat_total = Old_Stat_total;
如您所见,您计算 Stat_total
并用 Old_Stat_total