Перейти к содержимому
  • 0
kaka888

Как выполнить robot.swing() из EEPROM?

Вопрос

Хотел впихнуть прогу для ломания блоков перед роботом в eeprom. В начале написал:

r=component.proxy(component.list("robot")())

А дальше юзал r.swing() в цикле.
При запуске робота пишет attemp to call a nil value ("component"), типа нет команды component.proxy()

Делал всё точно по грёбаной инструкции.

Что я сделал не так????

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендуемые сообщения

7 часов назад, kaka888 сказал:

А дальше юзал r.swing() в цикле.

Библиотека robot и компонент robot несколько отличаются.

При использовании компонента в вызове robot.swing(3) следует указывать сторону, как в коде @Doob

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Может опечатка? Вот рабочий код:

local robot = component.proxy(component.list('robot')())

while true do
  computer.beep(20, 0.5)
  if robot.detect(3) then
    robot.swing(3)
  end
end

 

Изменено пользователем Doob

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Т.е. robot.swing() работал без аргументов только из-за того, что в опенос есть библиотека для robot API?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
12 минут назад, kaka888 сказал:

Т.е. robot.swing() работал без аргументов только из-за того, что в опенос есть библиотека для robot API?

Именно так. robot.swing() в библиотеке копает только вперёд, а для копки вверх и вниз имеются robot.swingUp() и robot.swingDown(). Компонент же располагает единственной функцией, направление задаётся аргументом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Понятно. А можно сделать так, чтобы робот копнул влево, вправо или назад без поворота?

Изменено пользователем kaka888

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
51 минуту назад, kaka888 сказал:

Понятно. А можно сделать так, чтобы робот копнул влево, вправо или назад без поворота?

Без доработки мода вряд ли возможно. Впервые узнав о  стороне, задаваемой аргументом, я сразу попробовал копнуть во всех направлениях и получил ошибку везде кроме сторон 0, 1, 3.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
20.02.2019 в 11:03, eu_tomat сказал:

Без доработки мода вряд ли возможно. Впервые узнав о  стороне, задаваемой аргументом, я сразу попробовал копнуть во всех направлениях и получил ошибку везде кроме сторон 0, 1, 3.

Спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...