Exemple #1
0
    public IGrid GenerateGrid()
    {
        var rows    = _gridConfig.GetRows();
        var columns = _gridConfig.GetColumns();

        var cellsById          = new Dictionary <int, Cell>(rows * columns);
        var cellsByCoordinates = new Cell[rows, columns];
        var cellId             = 0;

        for (var i = 0; i < rows; ++i)
        {
            for (var j = 0; j < columns; ++j)
            {
                var cell = GetNewCell(rows, columns, cellId, j, i);
                cellsById.Add(cellId, cell);
                ++cellId;
                cellsByCoordinates[i, j] = cell;
            }
        }

        var data = new GridGenerationData(rows, columns, cellsById, cellsByCoordinates, _counterCharacters, _counterEnemies);

        return(new Grid(data));
    }