我做了一个塔防游戏,有一件事困扰着我。我设定了货币的起始价值,但我无法将价值延续到下一个水平。有什么想法吗?
public void define() {
room = new Room();
save = new Save();
store = new Store();
if(level == 1){
coinage = 50;
health = 100;
}
if(level == 2){
coinage = 40;
health = 100;
}
if(level > 2){
coinage = 30;
health = 100;
}
if(level > 8){
coinage = 0;
}
嗯所以我试过了:
public static int coinage = 0, health = 100;
然后
if(level == 1){
coinage += 50;
}
if(level == 2){
coinage += 40;
}
我确信我在这里做错了什么。当第二级出现时,起始值仍为40。 我怎么能解决这个问题?
答案 0 :(得分:1)
如果coinage
是你的钱,你可以在这个define()
函数之外设置一个全局变量。让我们跟踪玩家有多少钱。您可以改为添加现有值,而不是将值设置为直接数。所以在你的第2级示例coinage += 50;
中。这将采用coinage
的全局值并将50添加到现有数字,而不是将其设置为特定值。只需使用=
,您就会说它完全是X / Y.通过将其保持全局,您可以对其进行加/减并以更多方式对其进行操作。
我认为通过查看您拥有的代码,关键是将其切换为使用类似+=
而非=
的内容。这样它将添加到现有值,而不是每次都将其设置为静态数字。