Bonjour à tous,

développeur de profession, je travaille actuellement sur un projet perso de jeu de stratégie/gestion.
Je chercher à écrire une fonction pour une certaine fonctionnalité, mais je galère de base pour l'algo.


Je vais tenter d'expliquer ce que je veux faire:


J'ai une certaine réserve de céréales qui contient un volume V de céréales

J'ai une production de céréales qui est donc en unité volume/temps

J'ai un certain nombre de soldats nb qui ont chacun une conso qui est aussi un volume/temps

Chaque soldat vaut un certain montant de céréales = valeurCC

la production de céréales, valeurCC et la conso des soldats sont des constantes

La balance globale du coup équivaut à: balance = production - nb * conso

Le temps avant que le volume n'atteigne 0 est donc: V / balance

Ma formule va justement concerner cette étape suivante de quand le volume de céréales est à 0 ou presque


J'ai décidé que lorsque le stock de céréales est totalement vide, un soldat meure (nb = nb - 1) et la valeurCC du soldat vient s'ajouter au stock
Le stock qui était de 0 contient donc après la mort par la famine d'un soldat de sa valeurCC

Ce nouveau stock de céréales va donc s'écouler légèrement moins vite.

Et cela continue jusqu'à ce que la balance revienne a 0



Voila en gros ce que je souhaite essayer de calculer xD


Sous forme pseudo-code ça donnera quelque chose comme ça:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
const valeurCC, prod, conso;
var nbSoldats, stockInitial, time;
 
 
function getResultOverTime(nbSoldats, stockInitial, time){
   //return nbSoldatsStillAlive, newStock
}

Je vous remercie d'avoir pris le temps de lire, et suis ouvert à tout conseil ou autre pour me montrer la voie. Si vous avez envie de me donner tout le pseudo code déjà fonctionnel, ça me va aussi