コード例 #1
0
    public void PathFind()
    {
        pathFindProcessMetric = new PathFindProcessMetric();
        mazeMetric            = new MazeMetric(planeBuilder);

        mazeMetric.SetMazeMetric();
        saveSystemBoundary.SaveMazeMetric(mazeMetric);

        pathFindAlgo = CreatePathFindAlgo();
        pathFindAlgo.AppointPath();

        saveSystemBoundary.SaveMetricForPathFindProcess(pathFindProcessMetric, GetPathFindMethodFromPathFindDropdown());
    }
コード例 #2
0
    public void _1_4_SetMazeMetric_IncreaseNumberOfDeadEnds_ReceiveCheck()
    {
        Vector2 gamePlaneSize = new Vector2(5, 5);

        List <Vector2> listOfMazeElementsThatAreMazeWall = new List <Vector2>();

        listOfMazeElementsThatAreMazeWall.Add(new Vector2(0, 0));
        listOfMazeElementsThatAreMazeWall.Add(new Vector2(1, 0));
        listOfMazeElementsThatAreMazeWall.Add(new Vector2(2, 0));
        listOfMazeElementsThatAreMazeWall.Add(new Vector2(3, 0));
        listOfMazeElementsThatAreMazeWall.Add(new Vector2(4, 0));

        listOfMazeElementsThatAreMazeWall.Add(new Vector2(4, 1));
        listOfMazeElementsThatAreMazeWall.Add(new Vector2(4, 2));
        listOfMazeElementsThatAreMazeWall.Add(new Vector2(4, 3));
        listOfMazeElementsThatAreMazeWall.Add(new Vector2(4, 4));

        listOfMazeElementsThatAreMazeWall.Add(new Vector2(0, 1));
        listOfMazeElementsThatAreMazeWall.Add(new Vector2(0, 2));
        listOfMazeElementsThatAreMazeWall.Add(new Vector2(0, 3));

        listOfMazeElementsThatAreMazeWall.Add(new Vector2(0, 4));
        listOfMazeElementsThatAreMazeWall.Add(new Vector2(1, 4));
        listOfMazeElementsThatAreMazeWall.Add(new Vector2(2, 4));
        listOfMazeElementsThatAreMazeWall.Add(new Vector2(3, 4));

        listOfMazeElementsThatAreMazeWall.Add(new Vector2(2, 1));
        listOfMazeElementsThatAreMazeWall.Add(new Vector2(2, 3));

        /*      Maze Construction
         *      o o o o o
         *      o   o   o
         *      o       o
         *      o   o   o
         *      o o o o o
         */

        var planeBuilder = GetPlaneBuilder(gamePlaneSize, listOfMazeElementsThatAreMazeWall);

        MazeMetric mazeMetric = new MazeMetric(planeBuilder);

        mazeMetric.SetMazeMetric();

        Assert.AreEqual(mazeMetric.TotalNumberOfDeadEnds, 4);
        Assert.AreEqual(mazeMetric.TotalNumberOfFourWayJunctions, 0);
        Assert.AreEqual(mazeMetric.TotalNumberOfHallwayNodes, 1);
        Assert.AreEqual(mazeMetric.TotalNumberOfJunctions, 2);
        Assert.AreEqual(mazeMetric.TotalNumberOfNodes, 25);
        Assert.AreEqual(mazeMetric.TotalNumberOfThreeWayJunctions, 2);
        Assert.AreEqual(mazeMetric.TotalNumberOfWalkableNodes, 7);
    }
コード例 #3
0
    public void _1_1_SetMazeMetric_IncreaseNumberOfNodes_ReceiveCheck()
    {
        Vector2        gamePlaneSize = new Vector2(3, 3);
        List <Vector2> listOfMazeElementsThatAreMazeWall = new List <Vector2>();

        listOfMazeElementsThatAreMazeWall.Add(new Vector2(0, 0));
        listOfMazeElementsThatAreMazeWall.Add(new Vector2(2, 0));
        listOfMazeElementsThatAreMazeWall.Add(new Vector2(2, 2));
        listOfMazeElementsThatAreMazeWall.Add(new Vector2(0, 2));

        var planeBuilder = GetPlaneBuilder(gamePlaneSize, listOfMazeElementsThatAreMazeWall);

        MazeMetric mazeMetric = new MazeMetric(planeBuilder);

        mazeMetric.SetMazeMetric();

        Assert.AreEqual(mazeMetric.TotalNumberOfNodes, 9);
    }