Ejemplo n.º 1
0
    public string Day()
    {
        var energyProvidedForTheDay = Providers.Sum(p => p.EnergyOutput);

        this.TotalEnergyStored += energyProvidedForTheDay;
        double mineableForTheDay       = 0;
        double energyConsumedForTheDay = 0;

        switch (this.HarvesterMode)
        {
        case "Full":
            mineableForTheDay       = Harvesters.Sum(h => h.OreOutput);
            energyConsumedForTheDay = Harvesters.Sum(h => h.EnergyRequirement);
            break;

        case "Half":
            mineableForTheDay       = 0.5 * Harvesters.Sum(h => h.OreOutput);
            energyConsumedForTheDay = 0.6 * Harvesters.Sum(h => h.EnergyRequirement);
            break;
        }
        if (TotalEnergyStored >= energyConsumedForTheDay)
        {
            this.TotalMinedStored  += mineableForTheDay;
            this.TotalEnergyStored -= energyConsumedForTheDay;
        }
        else
        {
            mineableForTheDay = 0;
        }

        return
            ($"A day has passed.\r\nEnergy Provided: {energyProvidedForTheDay}\r\nPlumbus Ore Mined: {mineableForTheDay}");
    }
Ejemplo n.º 2
0
    public string Day()
    {
        double
            dayEnergyOutput,
            dayEnergyRequired,
            dayMinedOre,
            eventualDayMinedOre;



        //calculate day needs and capabilities
        dayEnergyOutput     = 0;
        dayMinedOre         = 0;
        eventualDayMinedOre = 0;
        dayEnergyRequired   = 0;

        dayEnergyOutput    = Providers.Sum(p => p.EnergyOutput);
        totalEnergyStored += dayEnergyOutput;


        if (workingMode != "Energy")
        {
            dayEnergyRequired = Harvesters.Sum(h => h.EnergyRequirement);

            if (workingMode == "Full")
            {
                eventualDayMinedOre = Harvesters.Sum(h => h.OreOutput);
            }
            else if (workingMode == "Half")
            {
                dayEnergyRequired   = dayEnergyRequired * 0.6; //consume 60 % of their energy requirements
                eventualDayMinedOre = Harvesters.Sum(h => h.OreOutput) * 0.5;

                //produce 50 % of their ore output
            }
        }
        else
        {
            dayEnergyRequired = 0;
            dayMinedOre       = 0;
        }

        if (totalEnergyStored >= dayEnergyRequired)
        {
            dayMinedOre        = eventualDayMinedOre;
            totalEnergyStored -= dayEnergyRequired;
            totalMinedOre     += dayMinedOre;
        }

        return(string.Format(Messages.DayHasPassed,
                             Environment.NewLine, dayEnergyOutput,
                             Environment.NewLine, dayMinedOre));//Environment.NewLine, summedEnergyOutput, Environment.NewLine, summedOreOutput
    }