Exemplo n.º 1
0
        public Form1(
            IAxisFactory axisFactory,
            IMazeViewDataFactory mazeViewDataFactory,
            MazeNodeDataBuilder mazeNodeDataBuilder,
            IVisualizer visualizer,
            UnitMover unitMover,
            Maze maze,
            Keybindings keybindings)
        {
            _maze                = maze;
            _unitMover           = unitMover;
            _visualizer          = visualizer;
            _mazeNodeDataBuilder = mazeNodeDataBuilder;
            _keybindings         = keybindings;

            InitializeComponent();
            InitializeMaze(axisFactory, mazeViewDataFactory);
            InitializeKeybindings(axisFactory);

            DoubleBuffered = true;

            fAnimator = new Timer()
            {
                Interval = 500,
            };
            fAnimator.Tick += FAnimator_Tick1;
            fAnimator.Start();
        }
Exemplo n.º 2
0
        public void GenerateNodeDataTest()
        {
            var           settings    = new DefaultSettings();
            var           nodeBuilder = new NodeBuilder(settings, new CoinBuilder(settings));
            var           mazeNodeDataBuilderbuilder = new MazeNodeDataBuilder(new FakeMazeNodeDataBuilderSettings(5, 3), new Randomizer(), nodeBuilder);
            IMazeNodeData data = mazeNodeDataBuilderbuilder.GenerateNodeData(12345);

            Assert.NotNull(data);
        }
Exemplo n.º 3
0
        public void InitializeTest()
        {
            IAxisFactory         axisFactory         = new AxisFactory();
            IMazeViewDataFactory mazeViewDataFactory = new MazeViewDataFactory();
            var           settings        = new DefaultSettings();
            var           nodeBuilder     = new NodeBuilder(settings, new CoinBuilder(settings));
            var           randomizer      = new Randomizer();
            var           nodeDataBuilder = new MazeNodeDataBuilder(new FakeMazeNodeDataBuilderSettings(3, 3), randomizer, nodeBuilder);
            IMazeNodeData nodeData        = nodeDataBuilder.GenerateNodeData(12345);
            IMazeViewData viewData        = nodeDataBuilder.GenerateViewData(nodeData, axisFactory, mazeViewDataFactory);
            var           maze            = new Maze(new UnitList(), new UnitFactory(randomizer));

            maze.Initialize(nodeData, viewData);

            int numberOfNodesTotal = maze.NodeData.Count;
            int numberOfNodesView  = maze.ViewData.MazeNodes.Count;
            int numberOfUnits      = maze.UnitList.Count;

            Assert.Equal(1, numberOfUnits);
            Assert.Equal(9, numberOfNodesView);
            Assert.Equal(27, numberOfNodesTotal);
        }