Anryyyy 0 Опубликовано: 30 ноября, 2021 Хочу чтобы черепашка складывала в сундук вещи, но перед сундуком может быть блок, черепашка должна сломать ее и идти дальше. Но как сдлеать чтобы черепашка поняла что перед ней сундук? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
serafim 272 Опубликовано: 30 ноября, 2021 6 минут назад, Anryyyy сказал: inspect() он возвращает false или true а не id кроме булевого значения, вторым возвращает таблицу local success, data = turtle.inspect() if success then print("Block name: ", data.name) print("Block metadata: ", data.metadata) end Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 154 Опубликовано: 30 ноября, 2021 Насколько мне известно, однозначно идентифицировать любой блок способен только геосканер, но он доступен только для роботов OpenComputers. Черепашкам же доступны лишь функции turtle.compare/Up/Down/To, позволяющие сравнить блок с имеющимися образцами в инвентаре черепашки. http://www.computercraft.info/wiki/Turtle.compare Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 154 Опубликовано: 30 ноября, 2021 Всё оказалось гораздо лучше. В каких-то версиях ComputerCraft черепашки обзавелись новыми возможностями: turtle.inspect() Returns the ID string and metadata of the block in front of the Turtle Да и вообще, рекомендую ознакомиться с актуальным API черепашек: http://www.computercraft.info/wiki/Turtle_(API) Здесь перечислено всё, на что черепашки способны. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Anryyyy Автор вопроса 0 Опубликовано: 30 ноября, 2021 42 минуты назад, eu_tomat сказал: Всё оказалось гораздо лучше. В каких-то версиях ComputerCraft черепашки обзавелись новыми возможностями: turtle.inspect() Returns the ID string and metadata of the block in front of the Turtle Да и вообще, рекомендую ознакомиться с актуальным API черепашек: http://www.computercraft.info/wiki/Turtle_(API) Здесь перечислено всё, на что черепашки способны. inspect() он возвращает false или true а не id Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Anryyyy Автор вопроса 0 Опубликовано: 30 ноября, 2021 32 минуты назад, serafim сказал: кроме булевого значения, вторым возвращает таблицу local success, data = turtle.inspect() if success then print("Block name: ", data.name) print("Block metadata: ", data.metadata) end А что это за тип данных ты сделал, local success, data Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Disc2 13 Опубликовано: 30 ноября, 2021 (изменено) 3 часа назад, Anryyyy сказал: inspect() он возвращает false или true а не id 2 часа назад, Anryyyy сказал: А что это за тип данных ты сделал, local success, data local success, data = turtle.inspect() Это не тип данных,это две локальные переменные "success" и "data",это называется "параллельное присваивание" - когда одновременно нескольким переменным присваиваются значения. inspect() возвращает 2 значения - первое значение "успех"(англ - success) выполнения - false или true А второе значение это таблица,которую присваиваем переменной "data" - в ней будет строка "name" и "metadata" (я правда не знаю,метадата это таблица,или строка,но судя по тому,что на вики СС в примере её просто выводят через print(data.metadata),то наверное строка). Ну или если inspect() первым значением возвращает false то вторым значением он возвращает текст ошибки. Изменено 30 ноября, 2021 пользователем Disc2 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Disc2 13 Опубликовано: 30 ноября, 2021 4 часа назад, Anryyyy сказал: Хочу чтобы черепашка складывала в сундук вещи, но перед сундуком может быть блок, черепашка должна сломать ее и идти дальше. Но как сдлеать чтобы черепашка поняла что перед ней сундук? Вообще кажется вопрос должен быть "зачем именно ты это хочешь?",потому что это как-то странно - т.е. черепаха должна двигаться,проверять есть ли перед ней сундук,если есть сундук - выкладывать вещи,если перед ней не сундук,а другой блок - ломать его и двигаться дальше,проверять наличие сундука и т.д. Это все несколько странная затея - что именно ты делаешь? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 154 Опубликовано: 30 ноября, 2021 1 час назад, Disc2 сказал: это как-то странно - т.е. черепаха должна двигаться,проверять есть ли перед ней сундук,если есть сундук - выкладывать вещи,если перед ней не сундук,а другой блок - ломать его и двигаться дальше,проверять наличие сундука и т.д. Кстати, да. При копке руды довольно часто встречаются заброшенные шахты с сундуками. Не вываливать же в них всю добытую руду. Наоборот, имеет смысл всё содержимое сундука забрать и унести. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Хочу чтобы черепашка складывала в сундук вещи, но перед сундуком может быть блок, черепашка должна сломать ее и идти дальше. Но как сдлеать чтобы черепашка поняла что перед ней сундук?
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах