所以我現在正在做一個增量遊戲。如果你不知道這是一個簡短的解釋。你點擊一個按鈕來獲得某種金錢(在我的情況下是黃金)。有了足夠的錢,你可以購買無需點擊即可賺錢的東西。有了更多的錢,你可以得到更好的升級,這使得你更多的錢等等。簡單的if-clause不起作用,找不到錯誤
現在我的問題;我創建了一個名爲Upgrade
,你可以在這裏看到類:
public class Upgrade {
double baseCost;
double baseIncome;
int count =0;
double cost = baseCost*Math.pow(1.07,count);
double goldPerSecond = baseIncome; //TODO find usefull formula!
public Upgrade(double baseC, double baseIn){
baseCost = baseC;
baseIncome = baseIn;
}
}
的變量應該解釋自己。
現在我通過構造函數創建了一些Upgrade
S:
Upgrade waitress = new Upgrade(50 ,2); //Constructor for Waitress
Upgrade seats = new Upgrade(100, 5); //Constructor for More-Seats
Upgrade decoration = new Upgrade(500, 20); //Constructor for Decoration
Upgrade bartender = new Upgrade (1000, 50); //Constructor for Bartender
購買升級我寫這勢必按鈕參照上面列出的升級方法buyUpgrade
。
public void buyUpgrade(Upgrade U) {
if (goldCount >= U.cost) {
goldCount = goldCount - U.cost;
clickGoldPerSecond++;
U.count++;
} else {
error.setText(getResources().getString(R.string.no_gold));
}
}
問題出在這裏。隨着比賽開始,你有0金。 0存儲在變量goldCount
中。但即使goldCount
是我可以無限量購買每Upgrade
。我只是不知道這個問題。也許這很簡單,之後我意識到我有多愚蠢,但我無法弄清楚。
每一個幫助表示讚賞。謝謝!
想想什麼樣的價值'baseCost'當你確定升級的'cost'了。 – molbdnilo