Генерация леса

Дополнительные параметры: codeFlowType: codeWrite codeFlowLang: Lua

Создано: 03.07.2023 13:27

Генерация леса

-- Функция для генерации леса
local function generateForest(width, height, density)
    -- Создание пустого леса
    local forest = {}
    for i = 1, height do
        forest[i] = {}
        for j = 1, width do
            forest[i][j] = " "
        end
    end

    -- Заполнение леса деревьями в соответствии с заданной плотностью
    for i = 1, height do
        for j = 1, width do
            if math.random() < density then
                forest[i][j] = "T"
            end
        end
    end

    return forest
end

-- Задание размеров леса и плотности деревьев
local forestWidth = 10
local forestHeight = 5
local treeDensity = 0.3

-- Генерация леса
local forest = generateForest(forestWidth, forestHeight, treeDensity)

-- Вывод леса в формате Markdown
for i = 1, forestHeight do
    local line = "|"
    for j = 1, forestWidth do
        line = line .. " " .. forest[i][j] .. " |"
    end
    print(line)
    if i < forestHeight then
        print("|" .. string.rep("---|", forestWidth))
    end
end

Результат:

|     |     | T   |     | T   |     | T   |     |     |     |
|---|---|---|---|---|---|---|---|---|---|
|     |     |     | T   |     | T   |     | T   |     | T   |
|---|---|---|---|---|---|---|---|---|---|
| T   |     |     |     | T   |     |     |     | T   |     |
|---|---|---|---|---|---|---|---|---|---|
|     |     |     |     |     |     | T   |     |     | T   |
|---|---|---|---|---|---|---|---|---|---|
|     |     | T   | T   |     |     |     |     | T   |     |