コード例 #1
0
    public void test4()
    {
        IntersectionChecker i = new IntersectionChecker();
        Edge road             = new Edge(new Node(20, 155), new Node(75, 200), RoadTypes.STREET);

        i.fixRoad(road);
        RoadVisualizer.placeRoad(road, "0");
    }
コード例 #2
0
    //TESTING
    public void test()
    {
        RoadVisualizer.placeRoad(new Edge(new Node(100, 100), new Node(125, 125), RoadTypes.HIGHWAY), "0");
        RoadVisualizer.placeRoad(new Edge(new Node(125, 125), new Node(180, 150), RoadTypes.HIGHWAY), "1");
        RoadVisualizer.placeRoad(PositionLegalizer.legalizeRoad(new Edge(new Node(180, 150), new Node(200, 250), RoadTypes.HIGHWAY)), "2");
        RoadVisualizer.placeRoad(new Edge(new Node(200, 250), new Node(200, 550), RoadTypes.HIGHWAY), "3");
        RoadVisualizer.placeRoad(new Edge(new Node(200, 550), new Node(200, 750), RoadTypes.HIGHWAY), "4");

        RoadVisualizer.placeRoad(new Edge(new Node(125, 125), new Node(125, 175), RoadTypes.STREET), "5");
        RoadVisualizer.placeRoad(new Edge(new Node(125, 175), new Node(80, 225), RoadTypes.STREET), "6");
        RoadVisualizer.placeRoad(new Edge(new Node(125, 175), new Node(180, 150), RoadTypes.STREET), "7");
    }
コード例 #3
0
    public void generateRoadMap()
    {
        resetRoads();

        // Generate the first roads
        foreach (Edge road in globalGoals.generateFirstRoads(Approach.RANDOM))
        {
            q.push(road, road.getTime());
        }

        while (q.size > 0)
        {
            Edge roadToBuild = q.pop();

            //check with localconstraints
            roadToBuild = localConstraints.validateRoad(roadToBuild);
            if (roadToBuild != null)
            {
                if (CityGeneratorUI.DebugMode)
                {
                    Debug.Log("roadToBuild was valid");
                }
                //add it to the roads array
                roads.Add(roadToBuild);
                //visualize it and give it the correct index
                RoadVisualizer.placeRoad(roadToBuild, (roads.Count - 1).ToString());

                foreach (Edge road in globalGoals.generateNewRoads(roadToBuild))
                {
                    q.push(road, road.getTime());
                }
            }
            else
            {
                if (CityGeneratorUI.DebugMode)
                {
                    Debug.Log("roadToBuild was not valid");
                }
            }
        }

        //construct the list of nodes with all their references
        constructNodeGraph();

        CityGenerator.nrOfRoads = roads.Count;

        PreviewRoads.NrRoads = roads.Count; //reset the nr of roads visualized
        roadBuilt            = true;
    }