forked from github/server
31 lines
687 B
Lua
31 lines
687 B
Lua
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 and not rn.units() then
|
|
peas = peas + rn:get_resource(res)
|
|
end
|
|
end
|
|
return peas
|
|
end
|
|
|
|
local function select(regions, peasants, trees)
|
|
local sel = {}
|
|
for r in regions do
|
|
if not r.plane and r.terrain~="ocean" and not r.units() then
|
|
if score(r, "peasant") >= peasants and score(r, "tree") >= trees then
|
|
table.insert(sel, r)
|
|
end
|
|
end
|
|
end
|
|
return sel
|
|
end
|
|
|
|
return {
|
|
score = score,
|
|
select = select
|
|
}
|