c# - 当不同的计数器达到某些里程碑时,实现计数器的最佳方法是什么
问题描述
我正在尝试统一制作一个点击游戏,每 100 个“视图”产生一美元,我不确定如何解决这个问题。我尝试使用更新功能,为每 100 的倍数加 1 到美元计数器,但是如果数字落在 101 上,我就错过了计数,因为我是初学者,所以我不知道还能尝试什么在这种代码中,我不确定在哪里寻找如何以其他方式执行此操作。
解决方案
一种可能的设置方法是在隐含的Total_Views和Total_Earnings变量旁边设置一个单独的Limbo_Views变量,以跟踪计数器距离下一个 100 个视图里程碑的距离或已经超过多远
例如...
public class Video{
public int Total_Views;
public int Total_Earnings;
private int Limbo_Views;
public Video() {
Total_Views = 0;
Total_Earnings = 0;
Limbo_Views = 0;
}
public void addViews(int views) {
Total_Views += views; // <-- add views to total
Limbo_Views += views; // <- add views to limbo view count
if(Limbo_Views >= 100) { // <-- if there 100+ views in limbo...
int dollarsToAdd = Limbo_Views / 100; // <-- determine how many dollars should be paid out
Total_Earnings += dollarsToAdd; // <-- add that amount to earnings
Limbo_Views -= (dollarsToAdd * 100); // <-- decrement limbo views to reflect views that have been accounted for
}
}
}
这应该能够处理您在添加视图和计算他们的收入方面投入的任何正数。
如果您有任何其他问题,请告诉我!
推荐阅读
- junit - junit运行时出现Lombok错误
- r - 从重复日期创建观察虚拟变量
- angular - 我在为 android 创建 prod APK 时遇到问题
- python - 为什么boto3 ec2图像太慢
- python-3.x - 我正在尝试使用 keras 制作预测模型
- typescript - 定义泛型类型时引用自己的属性
- python-3.x - 使用 tls 加密订阅 mqtt 主题(PYTHON)
- jenkins - 以非 root 用户身份启动 jenkins 失败
- android - 如何在 Retorfit 中使用具有暂停乐趣的 NetworkBoundResource
- vba - 如何使用 vba 只保留 XML 文件中想要的文本