Exemple #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();
        }
Exemple #2
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

              View.BackgroundColor = UIColor.Green;

              Title = "YxTableTest";

              _view = new UITableView(new CGRect(), UITableViewStyle.Grouped);
              View.Add(_view);

              //_view.SeparatorInset = UIEdgeInsets.Zero;
              //_view.LayoutMargins = UIEdgeInsets.Zero;
              //_view.SeparatorStyle = UITableViewCellSeparatorStyle.None;

              _view.FitToParent();

              var source = new TableSource();

              Section section;

              // -----------------------

              section = new Section();
              section.Header = "Default cell";
              section.Footer = "---";

              var defaultCellFactory = new DefaultCellFactory();

              section.Cells.Add(
            new CellModel<ItemWithTitle>(
              defaultCellFactory,
              new ItemWithTitle { Title = "foo" }
            ));

              section.Cells.Add(
            new CellModel<ItemWithTitle>(
              defaultCellFactory,
              new ItemWithTitle { Title = "bar" }
            ));

              source.Sections.Add(section);

              // -----------------------

              section = new Section();
              section.Header = "Subtitle";

              section.Cells.Add(
            new CellModel<ItemWithTitleAndSubtitle>(
              Singleton<SubtitleCellFactory>._,
              new ItemWithTitleAndSubtitle { Title = "abc", SubTitle = "123" }
            ));

              source.Sections.Add(section);

              // -----------------------

              section = new Section();
              section.Header = "Switch cell";

              var changingModel = new ItemWithTitle { Title = "This will change when switch is toggled" };
              var changingCell = new CellModel<ItemWithTitle>(defaultCellFactory, changingModel);
              section.Cells.Add( changingCell );

              var switchCellFactory1 = new SwitchCellFactory { InitialState = true };
              var switchCellFactory2 = new SwitchCellFactory {
            InitialState = false,
            CellSelected = (cell) => MsgBox.Show(cell.Model.Title, "Cell selected", new [] {"OK"}),
            Toggled = (cell) => {
              changingCell.Model.Title = "You changed me!";
              _view.ReloadCellModel(changingCell);
            }
              };

              section.Cells.Add(
            new CellModel<ItemWithTitle>(
              switchCellFactory1,
              new ItemWithTitle { Title = "foo" }
            ));

              section.Cells.Add(
            new CellModel<ItemWithTitle>(
              switchCellFactory2,
              new ItemWithTitle { Title = "Toggling this will change above text. Hopafully." }
            ));

              source.Sections.Add(section);

              // -----------------------

              section = new Section();
              section.Header = "Custom 1";

              section.Cells.Add(
            new CellModel<ItemWithTitle>(
              Singleton<CustomCellFactory1>._,
              new ItemWithTitle { Title = "abc" }
            ));

              section.Cells.Add(
            new CellModel<ItemWithTitle>(
              Singleton<CustomCellFactory1>._,
              new ItemWithTitle { Title = "def" }
            ));

              source.Sections.Add(section);

              // -----------------------

              section = new Section();
              section.Header = "Custom 2";
              //section2.Footer = "Footer 2";

              section.Cells.Add(
            new CellModel<ItemWithTitle>(
              Singleton<CustomCellFactory2>._,
              new ItemWithTitle { Title = "abc" }
            ));

              section.Cells.Add(
            new CellModel<ItemWithTitle>(
              Singleton<CustomCellFactory2>._,
              new ItemWithTitle { Title = "def" }
            ));

              source.Sections.Add(section);

              // -----------------------

              _view.Source = source;
        }