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


Фотография

[1.7.10] ComputerCraft [1.74]


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2863

#1341 KaMaPuK

KaMaPuK

    Добытчик алмазов

  • Пользователи
  • Сообщений: 681
  • Откуда: СПб

Написал 17.12.2012 - 17:26

Скрытый текст
на самом деле ничего сложного, для выбора слота используй turtle.select(слот); для установки блока(факел или сундук) используй turtle.place()/turtle.placeUp()/turtle.placeDown(); чтобы сложить лут в сундук, используй turtle.drop(); проверка сколько итемов в слоте - turtle.getItemCount(слот) попробуй сам собрать все в код... если не получится, напиши в личку, разберемся где у тебя ошибки
Скрытый текст
цикл тебе в помощь:
Скрытый текст

рандом он такой рандом....а если корейский так вообще забей)

#1342 Storm Whisper

Storm Whisper

    Зачарователь

  • Пользователи
  • Сообщений: 1554
  • Откуда: Убежище 13

Написал 17.12.2012 - 17:50

Скрытый текст
почитай мой гайд, там на все твои вопросы уже есть ответы.

#1343 Dmitrijkll

Dmitrijkll

    Странник

  • Пользователи
  • Сообщений: 28

Написал 17.12.2012 - 18:37

Написал программу, которая копает туннели 3x3, ставит факелы каждые 5 блоков и сундук (в который все складывает) каждые 30. Так вот, столкнулся с такой проблемой, что из за гравия черепаха сбивается с курса, как ее научить, чтобы она ломала гравий, ждала пока упадет следующий, ну вообщем, чтобы она нормально гравий ломала?

#1344 KaMaPuK

KaMaPuK

    Добытчик алмазов

  • Пользователи
  • Сообщений: 681
  • Откуда: СПб

Написал 17.12.2012 - 18:45

Написал программу, которая копает туннели 3x3, ставит факелы каждые 5 блоков и сундук (в который все складывает) каждые 30. Так вот, столкнулся с такой проблемой, что из за гравия черепаха сбивается с курса, как ее научить, чтобы она ломала гравий, ждала пока упадет следующий, ну вообщем, чтобы она нормально гравий ломала?

используй turtle.detect() - например в цикле с пред условием. пока есть спереди блок, ломать его
рандом он такой рандом....а если корейский так вообще забей)

#1345 Dmitrijkll

Dmitrijkll

    Странник

  • Пользователи
  • Сообщений: 28

Написал 17.12.2012 - 19:11

Написал программу, которая копает туннели 3x3, ставит факелы каждые 5 блоков и сундук (в который все складывает) каждые 30. Так вот, столкнулся с такой проблемой, что из за гравия черепаха сбивается с курса, как ее научить, чтобы она ломала гравий, ждала пока упадет следующий, ну вообщем, чтобы она нормально гравий ломала?

используй turtle.detect() - например в цикле с пред условием. пока есть спереди блок, ломать его[/quote спасибо, сейчас попробую))

#1346 Dmitrijkll

Dmitrijkll

    Странник

  • Пользователи
  • Сообщений: 28

Написал 17.12.2012 - 22:05

Написал программу, жалуется на "=" в 45 строке. PS это там где b=b+1
print("Started")a=0while a<6dob=0while b<5doturtle[paste][/paste]digDown()while turtle[paste][/paste]detectUp()doturtle[paste][/paste]digUp()endturtle[paste][/paste]turnLeft()while turtle[paste][/paste]detect()doturtle[paste][/paste]dig()endturtle[paste][/paste]forward()turtle[paste][/paste]digDown()while turtle[paste][/paste]detectUp()doturtle[paste][/paste]digUp()endturtle[paste][/paste]turnRight(2)turtle[paste][/paste]forward()while turtle[paste][/paste]detect()doturtle[paste][/paste]dig()endturtle[paste][/paste]forward()turtle[paste][/paste]digDown()while turtle[paste][/paste]detectUp()doturtle[paste][/paste]digUp()endturtle[paste][/paste]turnLeft(2)turtle[paste][/paste]forward()turtle[paste][/paste]turnRight()while turtle[paste][/paste]detect()doturtle[paste][/paste]dig()endturtle[paste][/paste]forwardb=b+1endturtle[paste][/paste]digDown()turtle[paste][/paste]down()turtle[paste][/paste]turnRight()while turtle[paste][/paste]detect()doturtle[paste][/paste]dig()endturtle[paste][/paste]select(2)turtle[paste][/paste]place(1)turtle[paste][/paste]turnLeft()turtle[paste][/paste]up()a=a+1endturtle[paste][/paste]digDown()turtle[paste][/paste]down()turtle[paste][/paste]turnRight(2)turtle[paste][/paste]select(1)turtle[paste][/paste]place(1)for i=3,16 doturtle[paste][/paste]select(i)turtle[paste][/paste]drop()endturtle[paste][/paste]turnLeft(2)turtle[paste][/paste]up()print("End")


#1347 Storm Whisper

Storm Whisper

    Зачарователь

  • Пользователи
  • Сообщений: 1554
  • Откуда: Убежище 13

Написал 17.12.2012 - 22:07

в 44 () забыл поставить

#1348 Dmitrijkll

Dmitrijkll

    Странник

  • Пользователи
  • Сообщений: 28

Написал 17.12.2012 - 22:15

в 44 () забыл поставить

спасибо, помогло)) pastebin get post limit, maximum pastes per 24h reached не знал что есть ограничение Можно ли еще как то передать программу из компьютера на черепаху, кроме команды pastebin?

#1349 Princess Celessia

Princess Celessia

    Добытчик угля

  • Пользователи
  • Сообщений: 316

Написал 18.12.2012 - 06:53

Да, дискетами. Только вот комманд я не помню =С
Использую тампоны для удовлетворения голода.

#1350 Lexor

Lexor

    Добытчик угля

  • Пользователи
  • Сообщений: 399
  • Откуда: Иркутская область

Написал 18.12.2012 - 08:05

Можно гораздо проще, но не средствами майна: открываешь папку с сохранками майна, затем папку с сохранением своего мира, находишь там папку "компьютерс" вроде бы, в ней все компы по номерам (если, используются «метки» то они записаны в соответствующем файле, упрощают поиск нужного компа) там и программы в Notepad++ со включенной подсветкой синтаксиса Lua писать/редактировать куда как удобнее.

#1351 Avenger72

Avenger72

    Странник

  • Пользователи
  • Сообщений: 57

Написал 18.12.2012 - 22:25

а что даст вот этот код(просто туториал смотрел и там так написано) i=3while i>0 do(вот эти две первые строчки меня интересуют,зачем они?что они дают? они что-то вроде while true do?)turtle.dig()turtle.forward()end

#1352 Minik

Minik

    Опечаленный гастами

  • Пользователи
  • Сообщений: 2908
  • Откуда: Rivendell

Написал 18.12.2012 - 22:42

если эти строчки и есть весь основной код, то черепаха будет бесконечно выполнять заданные тобой действия в теле цикла. (делать что-то, пока i больше нуля, но значение i при этом не меняется). здесь значение i можно задать хоть 1 хоть 100. Ничего не изменится.

#1353 BeastMashine

BeastMashine

    Странник

  • Пользователи
  • Сообщений: 14

Написал 19.12.2012 - 09:26

Почему то черепашка зацикливается тут. Хотя до добавления защиты от осыпающих грунтов все работала как часы.
	x=0	while a~=x do		if x~=0 then 			while turtle[paste][/paste]detect() do				turtle[paste][/paste]dig()				sleep(0[paste][/paste]5)			end			turtle[paste][/paste]forward()			digPoz()		end		while turtle[paste][/paste]detect() do			turtle[paste][/paste]digUp()			sleep(0[paste][/paste]5)		end		turtle[paste][/paste]digDown()		if turtle[paste][/paste]getItemCount(16)>0 then 			backChest()			backDig()		end		x=x+1		print(x)	end
в чем косяк ?

#1354 adami

adami

    Добытчик угля

  • Пользователи
  • Сообщений: 318
  • Ник в Minecraft:
    _adami_

Написал 19.12.2012 - 09:57

while turtle[paste][/paste]detect() do         turtle[paste][/paste]digUp()         sleep(0[paste][/paste]5)      end
Этот код означает буквально "пока есть что-то СПЕРЕДИ копать НАВЕРХ", тут скорее всего и залипает. (UPDATE: точно тут залипает на первом шаге, если спереди не пусто). Нужно использовать turtle.detectUp() И код для прокопки от осыпания спереди лучше такой
while not turtle[paste][/paste]forward() do  turtle[paste][/paste]dig()end


#1355 BeastMashine

BeastMashine

    Странник

  • Пользователи
  • Сообщений: 14

Написал 19.12.2012 - 10:02

while turtle[paste][/paste]detect() do         turtle[paste][/paste]digUp()         sleep(0[paste][/paste]5)      end
Этот код означает буквально "пока есть что-то СПЕРЕДИ копать НАВЕРХ", тут скорее всего и залипает. (UPDATE: точно тут залипает на первом шаге, если спереди не пусто). Нужно использовать turtle.detectUp() И код для прокопки от осыпания спереди лучше такой
while not turtle[paste][/paste]forward() do  turtle[paste][/paste]dig()end

Большое спасибо. Со стороны то виднее всегда. А я сижу смотрю уже час ошибку не вижу:)

#1356 Storm Whisper

Storm Whisper

    Зачарователь

  • Пользователи
  • Сообщений: 1554
  • Откуда: Убежище 13

Написал 19.12.2012 - 10:14

ты бы сначала в командах разобрался, в пользовательских гайдах есть.ты думал, что turtle.detect() действует во всех направлениях

#1357 BeastMashine

BeastMashine

    Странник

  • Пользователи
  • Сообщений: 14

Написал 19.12.2012 - 10:35

ты бы сначала в командах разобрался, в пользовательских гайдах есть. ты думал, что turtle.detect() действует во всех направлениях

А ты такой сразу на понтах подъехал. Молодец. У меня был конкретный вопрос не видел ошибку. Мне помогли спасибо. Если будут еще тупики обращусь спасибо. З.Ы. Не надо делать выводы основываясь на своих фантазиях.

#1358 Storm Whisper

Storm Whisper

    Зачарователь

  • Пользователи
  • Сообщений: 1554
  • Откуда: Убежище 13

Написал 19.12.2012 - 14:05

при чём понты? вывод я сделал, основываясь на том, что ты думал, что команда turtle.detect() действует во всех направлениях.прозвучало грубо, но я всё же прав, глупенькие ты вопросы задаёшь, мальчик.

#1359 BeastMashine

BeastMashine

    Странник

  • Пользователи
  • Сообщений: 14

Написал 19.12.2012 - 14:22

при чём понты? вывод я сделал, основываясь на том, что ты думал, что команда turtle.detect() действует во всех направлениях. прозвучало грубо, но я всё же прав, глупенькие ты вопросы задаёшь, мальчик.

Вопрос был задан в чем ошибка. Я не видел ошибку. А не в помощи в описании функции. Я прекрасно разбираюсь как любая из них работает. А если и не знаю то гугл мне в помощь. К сожалению гугл не делает дэбагинг. А когда над программой долго сидишь все замыливается и не видишь тупых ошибок. И если тебя скучно обращайся в ПМ.

#1360 Storm Whisper

Storm Whisper

    Зачарователь

  • Пользователи
  • Сообщений: 1554
  • Откуда: Убежище 13

Написал 19.12.2012 - 14:28

мне не скучно =) совет программиста: если не видишь ошибку, по кушай тортика, ну или другим делом займись, ответ сам придёт, рано или поздно. А если заморачиваться, ошибку не найдёшь. (с)


Количество пользователей, читающих эту тему: 3

0 пользователей, 3 гостей, 0 анонимных