我的代碼存在問題,我找不到解決方案。我有我的代碼三個變量: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呢?「你真的想如何處理這種情況?沒做什麼?或者我們應該爲您決定(沒有任何背景)如何處理這種情況?=! –