Jump to content


Photo

[1.7.10] ComputerCraft [1.74]


  • Please log in to reply
2863 replies to this topic

#1341 KaMaPuK

KaMaPuK

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

  • Пользователи
  • Active Posts681
  • Откуда: СПб

Posted 17.12.2012 - 17:26

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

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

#1342 Storm Whisper

Storm Whisper

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

  • Пользователи
  • Active Posts1554
  • Откуда: Убежище 13

Posted 17.12.2012 - 17:50

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

#1343 Dmitrijkll

Dmitrijkll

    Странник

  • Пользователи
  • Active Posts28

Posted 17.12.2012 - 18:37

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

#1344 KaMaPuK

KaMaPuK

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

  • Пользователи
  • Active Posts681
  • Откуда: СПб

Posted 17.12.2012 - 18:45

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

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

#1345 Dmitrijkll

Dmitrijkll

    Странник

  • Пользователи
  • Active Posts28

Posted 17.12.2012 - 19:11

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

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

#1346 Dmitrijkll

Dmitrijkll

    Странник

  • Пользователи
  • Active Posts28

Posted 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

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

  • Пользователи
  • Active Posts1554
  • Откуда: Убежище 13

Posted 17.12.2012 - 22:07

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

#1348 Dmitrijkll

Dmitrijkll

    Странник

  • Пользователи
  • Active Posts28

Posted 17.12.2012 - 22:15

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

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

#1349 Princess Celessia

Princess Celessia

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

  • Пользователи
  • Active Posts316

Posted 18.12.2012 - 06:53

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

#1350 Lexor

Lexor

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

  • Пользователи
  • Active Posts399
  • Откуда: Иркутская область

Posted 18.12.2012 - 08:05

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

#1351 Avenger72

Avenger72

    Странник

  • Пользователи
  • Active Posts57

Posted 18.12.2012 - 22:25

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

#1352 Minik

Minik

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

  • Пользователи
  • Active Posts2908
  • Откуда: Rivendell

Posted 18.12.2012 - 22:42

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

#1353 BeastMashine

BeastMashine

    Странник

  • Пользователи
  • Active Posts14

Posted 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

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

  • Пользователи
  • Active Posts318
  • Ник в Minecraft:
    _adami_

Posted 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

    Странник

  • Пользователи
  • Active Posts14

Posted 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

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

  • Пользователи
  • Active Posts1554
  • Откуда: Убежище 13

Posted 19.12.2012 - 10:14

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

#1357 BeastMashine

BeastMashine

    Странник

  • Пользователи
  • Active Posts14

Posted 19.12.2012 - 10:35

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

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

#1358 Storm Whisper

Storm Whisper

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

  • Пользователи
  • Active Posts1554
  • Откуда: Убежище 13

Posted 19.12.2012 - 14:05

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

#1359 BeastMashine

BeastMashine

    Странник

  • Пользователи
  • Active Posts14

Posted 19.12.2012 - 14:22

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

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

#1360 Storm Whisper

Storm Whisper

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

  • Пользователи
  • Active Posts1554
  • Откуда: Убежище 13

Posted 19.12.2012 - 14:28

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


6 user(s) are reading this topic

0 members, 6 guests, 0 anonymous users