Пример #1
0
Файл: Test.cs Проект: f15h96/AI
    public void CreateTileMap()
    {
        output = new TileMapOutput(valueManager, this.OutputTilemap);
        var result = core.CreateOutputGrid();

        output.CreateOutput(manager, result, outputWidth, outputHeight);
    }
Пример #2
0
        public void TileMapOutputTestSimplePasses()
        {
            //outputGrid = new OutputGrid(3, 3, patternManager.GetNumberOfPatterns());
            //solver = new CoreSolver(outputGrid, patternManager);
            //var position = new Vector2Int(0, 0);
            //for (int i = 0; i < 3; i++)
            //{
            //    for (int j = 0; j < 3; j++)
            //    {
            //        outputGrid.SetPatternOnPosition(i, j, 1);
            //    }
            //}

            outputGrid = new OutputGrid(5, 5, patternManager.GetNumberOfPatterns());
            solver     = new CoreSolver(outputGrid, patternManager);
            var position = new Vector2Int(0, 0);

            solver.CollapseCell(position);
            solver.Propagate();

            var newPosition1 = solver.GetLowestEntropyCell();

            solver.CollapseCell(newPosition1);
            solver.Propagate();

            while (solver.CheckForConflics() == false && outputGrid.CheckIfGridIsSolved() == false)
            {
                newPosition1 = solver.GetLowestEntropyCell();
                solver.CollapseCell(newPosition1);
                solver.Propagate();
            }
            if (solver.CheckForConflics())
            {
                Debug.Log("Conflict");
                Assert.True(true);
            }
            else
            {
                outputGrid.PrintResultsToConsol();
                int[][] wfcOutput = outputGrid.GetSolvedOutputGrid();
                IOutputCreator <Tilemap> tileOutput = new TileMapOutput(valueManager, outputtilemap);
                tileOutput.CreateOutput(patternManager, wfcOutput, outputGrid.width, outputGrid.height);
                Assert.True(CheckEveryNeighbour(outputGrid));
            }
        }