Java |检索数据

时间:2014-01-31 14:03:44

标签: java

我做了一个塔防游戏,有一件事困扰着我。我设定了货币的起始价值,但我无法将价值延续到下一个水平。有什么想法吗?

    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。 我怎么能解决这个问题?

这是a link to the full code

1 个答案:

答案 0 :(得分:1)

如果coinage是你的钱,你可以在这个define()函数之外设置一个全局变量。让我们跟踪玩家有多少钱。您可以改为添加现有值,而不是将值设置为直接数。所以在你的第2级示例coinage += 50;中。这将采用coinage的全局值并将50添加到现有数字,而不是将其设置为特定值。只需使用=,您就会说它完全是X / Y.通过将其保持全局,您可以对其进行加/减并以更多方式对其进行操作。

我认为通过查看您拥有的代码,关键是将其切换为使用类似+=而非=的内容。这样它将添加到现有值,而不是每次都将其设置为静态数字。