예제 #1
0
 public override float getDivRate(Colony colony)
 {
     if (colony.getNum() == 0)
     {
         return(0);
     }
     return((float)(colony.getMass() / colony.getNum() / colony.getCellSize()));
 }
예제 #2
0
        public override double getPlanetN(PlanetCondition contitions, Colony colony, double requiredN)
        {
            float coe = 0.3f + getPlanetCoe(colony.getMass());

            if (coe > 1)
            {
                coe = 1;
            }
            return(requiredN * coe);
        }
예제 #3
0
        public override float getDivRate(Colony colony)
        {
            float ratio = (float)(colony.getMass() / colony.getNum() * 1.5);

            if (ratio >= 2)
            {
                return(2.0f);
            }
            else
            {
                return(ratio);
            }
        }
예제 #4
0
 private double GetTotalMass(model.Colony colonyInfo)
 {
     return(colonyInfo.getMass());
 }
예제 #5
0
 public override double getRequiredCO(Colony colony, int time)
 {
     return(colony.getPhotosynthesisPower() * colony.getMass() * time);
 }
예제 #6
0
 public override double getPlanetWater(PlanetCondition conditions, Colony colony, double requiredWater)
 {
     return(requiredWater * getPlanetCoe(colony.getMass()));
 }
예제 #7
0
 public override double getRequiredN(Colony colony, int time)
 {
     return(colony.getNFixPower() * colony.getMass() * time);
 }
예제 #8
0
        public override double getRequiredWater(Colony colony, int time)
        {
            double metabolism = getMetabolicWater(colony, time);

            return(metabolism + colony.getMass());
        }
예제 #9
0
 public override double getRequiredN(Colony colony, int time)
 {
     return(colony.getMass() * 0.1 * time);
 }