gpt4 book ai didi

Java资源-游戏模拟

转载 作者:行者123 更新时间:2023-12-01 14:35:27 25 4
gpt4 key购买 nike

我正在参与一个资源游戏模拟项目。我要做的是...

“如果有足够的可用资源,则请求将得到满足,并且将从可用数量中减去请求的数量。如果没有足够的资源,动画将消耗可用数量并等待更多资源可用。”

问题是我如何才能做到这一点...减少资源,然后将仍然需要的资源保留在某个地方,并在有可用资源(例如贷款)时减少资源...

示例:

...需要 100 金币...但是...可用 50 金币...

...将金币减少 50...并等到金币>=50,然后

...将金币减少 50...

等等...

示例代码...

    public void feedArmy(){
if(food>=100){
food=food-100;
System.out.println("*Feed Soldiers (-100 Food)");
System.out.println(toString());
}
else{
System.out.println("*Feed Soldiers (-100 Food)");
System.out.println("-Not Enough Food!"); //get loan instead
}
}

(编辑后)目前最佳解决方案:

实际上...我想到只是减少木材的所需值,然后如果数字变为负值,我保留负值,然后将其变为正值

Math.abs();

所以如果木头是 30 而我想要 100...我会做 30-100=-70;那么贷款=-70; ...

然后我 Math.abs(loan);这样贷款=70;

然后我做一个 if(wood>loan){ wood=wood-loan}//我可能需要 sleep ,直到木头再次刷新......就是这样...... 我仍然不知道生产者/消费者是什么东西......

最佳答案

因此,您正在寻找的解决方案是众所周知的,并且在计算机科学领域得到了广泛的研究。该问题本身称为生产者消费者问题。搜索一下这个,您会发现大量示例和代码来解决问题。

这是一个关于它的 stackoverflow 问题,Producer/Consumer threads using a Queue .

Wikipedia page详细解释问题。

关于Java资源-游戏模拟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16528751/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com