Как лучше всего реализовать счетчик, который подсчитывает, когда другой счетчик достигает определенных этапов - PullRequest
0 голосов
/ 29 мая 2020

Я пытаюсь создать игру-кликер в единстве, где на каждые 100 «просмотров» генерируется доллар, я не уверен, как решить эту проблему. Я пробовал использовать функцию обновления, которая добавляет 1 к счетчику долларов на каждые 100, но это пропускает подсчет, если число попадает, скажем, на 101, я не понимаю, что еще попробовать, поскольку я действительно новичок в таком коде, и я не совсем уверен, где искать, как это сделать по-другому.

1 Ответ

0 голосов
/ 29 мая 2020

Один из возможных способов настроить это - установить отдельную переменную Limbo_Views вместе с подразумеваемыми переменными Total_Views и Total_Earnings , чтобы отслеживать, насколько далеко до следующий этап 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
        }
    }
}

Это должно быть в состоянии обработать любое положительное число, которое вы ему укажете, с точки зрения добавления просмотров и учета на их заработок.

Дайте мне знать, если у вас возникнут дополнительные вопросы!

...