コード例 #1
0
        public void OverflowTest()
        {
            var stats = new TimeSpanStats <int>(3);

            stats.Add(1, 1);
            stats.Add(2, 2);
            stats.Add(3, 3);
            stats.Add(4, 4);

            Assert.AreEqual(3, stats.Count());
            Assert.AreEqual(2, stats[0].Tick);
            Assert.AreEqual(3, stats[1].Value);
            Assert.AreEqual(4, stats[2].Tick);
        }
コード例 #2
0
ファイル: World.cs プロジェクト: andreydil/Evo
 public void Live1Tick()
 {
     if (_population.Count == 0)
     {
         return;
     }
     SpreadFood();
     foreach (var individual in _population.ToList())
     {
         if (individual.IsAlive)
         {
             individual.LiveOneTick(GetExtInfluenceForCoord(individual.Point));
         }
         else
         {
             RemoveIndividual(individual);
             if (individual.Energy <= individual.Energy.Min)
             {
                 MainStats.AddStat("Deaths from hunger");
             }
             else if (individual.Age >= individual.Age.Max)
             {
                 MainStats.AddStat("Deaths from age");
             }
             else
             {
                 MainStats.AddStat("Other deaths");
             }
         }
     }
     PopulationSize.Add(Tick, _population.Count);
     FoodAmount.Add(Tick, _food.Count);
     ++Tick;
 }