local this = {}

local function score(r, res)
    assert(r)
    res = res or "peasant"
    local x, y, rn
    local peas = r:get_resource(res)
    for _, rn in pairs(r.adj) do
        if rn then
            peas = peas + rn:get_resource(res)
        end
    end
    return peas
end

local function select(regions, limit)
    local sel = {}
    for r in regions do
        if r.terrain~="ocean" and r.units()==nil then
            s = score(r)
            if s >= limit then
                table.insert(sel, r)
            end
        end
    end
    return sel
end

return {
    score = score,
    select = select
}