我的代码存在问题,我找不到解决方案。我有我的代码三个变量:C#使用一个值检查两个值,每帧更改一次
- FoodNeeded是需要
- FoodAddedPerMinute是食物的每分钟增加
- 人口人口量量的食物量
FoodNeeded变量正在改变每一帧。这取决于人口,但是,该变量将始终保持高于0
如果FoodAddedPerMinute变量是大于0,它应该这样做:
Food_Added_PerMinute = Food_Added_PerMinute - Food_Needed * Time.deltaTime/60;
但是,如果FoodAddedPerMinute是不更大然后0,它应该这样做:
Food_Added_PerMinute = Food_Added_PerMinute + Food_Needed * Time.deltaTime/60;
但是,如果它是0呢?那么我试过> =和< =但它保持循环并保持在零(或一个大量的十进制数)。
编辑: 我对这两个计算整个的一点是,因为如果FoodAddedPerMinute不大于0,应该积少成多。因为如果你做例如-2 + 1,你会得到-1。但如果我使用-2 - 1,我得到-3,这是不正确的。
如果foodNeeded是增长,在FoodAddedPerMinute应该减少,如果foodNeeded是减少,应该增长。但是,foodNeeded不能小于零。原因是因为我使用这个:Food_Needed = PlanetPopulation/100000;
这是循环问题
在这两种情况下你做同样的计算?这是故意的吗?你可以发布循环代码吗?到目前为止还不清楚 –
您在两种情况下都发布了相同的代码两次。 “ – HimBromBeere
”但是,如果它是0呢?“你真的想如何处理这种情况?没做什么?或者我们应该为您决定(没有任何背景)如何处理这种情况?=! –