CCCPaste

Proba Pera

local function add_component(name) -- получение прокси компонента
  name = component.list(name)() -- получить адрес по имени
  if name then -- если есть адрес
    return component.proxy(name) -- вернуть прокси
  end
end

local robot = add_component('robot')
local generator = add_component('generator')

local go, charging, energy_level, sleep

energy_level = function()
  return computer.energy()/computer.maxEnergy()
end

sleep = function(timeout)
  local deadline = computer.uptime()+timeout
  repeat
    computer.pullSignal(deadline-computer.uptime())
  until computer.uptime() >= deadline
end

go = function()
  robot.swing(3)
  robot.move(3)
end

charging = function()
  robot.select(1)
  generator.insert()
   while energy_level() < 0.98 do
     sleep(30)
   end
end

charging()

for i = 1, 10 do
  go()
end