Java |检索数据

Java |检索数据,java,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;

我做了一个塔防游戏,有一件事困扰着我。我已经设定了货币的起始值,但我无法将该值带入下一个级别。有什么想法吗

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


给你

如果
硬币
是您的货币,您可以在此
define()
函数之外设置一个全局变量。让它记录玩家有多少钱。您可以将该值添加到现有值,而不是将该值设置为直接数。因此,在你的第二级示例中,
铸币+=50。这将取
铸币的全局值
并将现有数字加50,而不是将其设置为特定值。只需使用
=
您就可以说它正是X/Y。通过保持它的全局性,您可以对它进行加减,并以更多方式对其进行操作


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

看起来缺少代码。
铸币
健康
在哪里申报?您在哪里尝试检索它们的值?除此之外,在我看来,您应该使用if-else链,而不是单独的if语句。它能更清楚地表达你的意图,而且效率略高。因此,在3个分支中将运行状况设置为相同的值是非常多余的。@Doval opps,这是用于测试的。我忘了把它拿出来。好吧,我把硬币打印出来,从0开始,加上40。所以我知道这个部分在工作。听起来好像
+=40
在工作,如果它从0开始,加上40。我不明白现在的问题是什么。试着在第一轮结束后吃10块剩菜,看看是否加上40块,总数达到50块。如果它打印出
10
,然后打印出
50
,但是当你的第二级开始时,它仍然显示
40
,那么还有其他问题(你没有在正确的位置使用正确的值,而不是没有正确设置货币)。嗯,它仍然只有40。如果你能看到整个文件会有帮助吗?就像你说的,我可能没有把它放在正确的位置