Пример #1
0
        private static void Main(string[] args)
        {
            int maxX            = 50;
            int maxY            = 10;
            var eventAggregator = new EventAggregator();
            var cellFactory     = new DefaultCellFactory();

            var germFactory = new InfectiousGermFactory(eventAggregator);
            var tissueMap   = new Tissue2DFactory(cellFactory, germFactory, new FisherYatesShuffle())
                              .Create(maxX, maxY, 0.7f, 0.05f);
            var cellStringEncoder = new CellStringEncoder();
            var roundBasedGame    = new RoundBasedGame(new TissueGrowthMechanism(), new RandomInfectionPropagation(germFactory, eventAggregator),
                                                       eventAggregator, false);

            var rounds = new List <TissuePrinter>();

            for (int i = 0; i < 50; i++)
            {
                var printer = new TissuePrinter(tissueMap, cellStringEncoder);
                rounds.Add(printer);
                tissueMap = roundBasedGame.Advance(tissueMap);
            }

            foreach (var round in rounds)
            {
                Console.Clear();
                round.PrintTissue();
                Thread.Sleep(500);
            }

            Console.ReadKey();
        }
Пример #2
0
        internal void Advance_DoesNotReturnSameTissue2DInstanceAndCellsAreCloned(
            [MockCellTissueCreation(10)] Tissue2D input,
            RoundBasedGame sut)
        {
            var result = sut.Advance(input);

            VerifyNotSameInstance(input, result);
            VerifyInputCellsAreCloned(input);
        }
Пример #3
0
        internal void Advance_TissueGrows_NullCellsGetReduced(
            [TissueCreationFromFactory(10)] Tissue2D input,
            [Frozen(Matching.ImplementedInterfaces)]
            TissueGrowthMechanism growth,
            RoundBasedGame sut)
        {
            var result = sut.Advance(input);

            VerifyNotSameInstance(input, result);
            VerifyLessNullCellsPresent(input, result);
        }