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

Робот-шахтёр

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

Итак, есть мнение, что на сервере ИТ после вайпа трудно с ресами.
Я написал небольшой и простой код для робота.
Его задача копать 10х10 карьер до бедрока.
Выбрасивает мусор когда пройдёт 10 столбов.
Вот скрин его работы.

https://cloud.mail.ru/public/5Umi/XYRAxasfg

В 1,2,3 слот нужно положить то что робот будет выкидывать. Иначе если попадёт туда руда он будет и её выбрасывать.(песок, булыжник, гравий, землю) любо что но главное что бы первые 3 слота были заполнены.

https://cloud.mail.ru/public/EAde/zWeF8rvqB

 

Комплектация робота:

  • корпус 1 уровня
  • процессор 1 уровня
  • дисковод
  • 2 планки памяти 1-го уровня
  • улучшение "Инвентарь"
  • EEPROM(lua bios)
  • 1 клава
  • монитор 1 уровня
  • дисковод 1 уровня
  • видюха 1 уровня

Вот сам код.

 

 

--======http://computercraft.ru,  2015. zed(c) =====
robot = require("robot")
d = 1
print("На какой высоте стоит робот")
a = io.read()


function stolb()
	for i = 1, a - 3 do
		robot.swingDown()
		robot.down()
	end
	for i = 1, a - 3 do
		robot.up()
	end
end

function povorot()
	if d == 1 
		then	robot.turnLeft()	robot.swing()	robot.forward()	robot.turnLeft() robot.swing() robot.forward() d = d + 1
		else	robot.turnRight()	robot.swing()	robot.forward()	robot.turnRight() robot.swing() robot.forward() d = d - 1
	end
end

function mysor()
	for i = 1, 3 do
		robot.drop(robot.count()-1)
		for j = 4, 16 do
			robot.select(j)
			if robot.compareTo(i) == true then robot.drop()
			end		
		end
	end
end

function put()
	for f = 1, 10 do
		for i = 1, 10 do
			stolb()
			robot.swing()
			robot.forward()
		end
		mysor()
		povorot()
	end
end

put() 

 

 

Скачать его можно тут: http://pastebin.com/Q0BgFCzH

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

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


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

На сколько я понял,видеокарта и монитор,занимающие 2 слота,только для получения высоты и вывода : "На какой высоте робот"?Не рационально . Лучше под ЕЕПРОМ перепиши

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


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

На сколько я понял,видеокарта и монитор,занимающие 2 слота,только для получения высоты и вывода : "На какой высоте робот"?Не рационально . Лучше под ЕЕПРОМ перепиши

Нет, для ввода на какой высоте стоит робот что бы он копал до бедрока и не делал лишних движений

Картинки немного померли

а что с картинками?

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


Ссылка на сообщение
Поделиться на других сайтах
Нет, для ввода на какой высоте стоит робот что бы он копал до бедрока и не делал лишних движений

а что с картинками?

Их нет

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


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

d62bbf0594.png

 

Их нет

у меня есть   не подскажите как их добавить? а то я нажимал на картинку и вставлял её ссылку. они у меня на облаке храняться

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


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

Видимо мылорушное облако не любит таких операций... А картинки видны скорее всего потому, что ты авторизован в облаке

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


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

Видимо мылорушное облако не любит таких операций... А картинки видны скорее всего потому, что ты авторизован в облаке

посмотри теперь видно?

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


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

Я написал небольшой и простой код для робота.

Его задача копать 10х10 карьер до бедрока.

Пожалуйста, не запускайте эту программу в основном мире. Только в майнерс-мирах.

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


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

Итак, есть мнение, что на сервере ИТ после вайпа трудно с ресами.

Я написал небольшой и простой код для робота.

Его задача копать 10х10 карьер до бедрока.

Выбрасивает мусор когда пройдёт 10 столбов.

Вот скрин его работы.

https://cloud.mail.ru/public/5Umi/XYRAxasfg

В 1,2,3 слот нужно положить то что робот будет выкидывать. Иначе если попадёт туда руда он будет и её выбрасывать.(песок, булыжник, гравий, землю) любо что но главное что бы первые 3 слота были заполнены.

https://cloud.mail.ru/public/EAde/zWeF8rvqB

 

Комплектация робота:

  • корпус 1 уровня
  • процессор 1 уровня
  • дисковод
  • 2 планки памяти 1-го уровня
  • улучшение "Инвентарь"
  • EEPROM(lua bios)
  • 1 клава
  • монитор 1 уровня
  • дисковод 1 уровня
  • видюха 1 уровня

Вот сам код.

 

 

--======http://computercraft.ru,  2015. zed(c) =====
robot = require("robot")
d = 1
print("На какой высоте стоит робот")
a = io.read()


function stolb()
	for i = 1, a - 3 do
		robot.swingDown()
		robot.down()
	end
	for i = 1, a - 3 do
		robot.up()
	end
end

function povorot()
	if d == 1 
		then	robot.turnLeft()	robot.swing()	robot.forward()	robot.turnLeft() robot.swing() robot.forward() d = d + 1
		else	robot.turnRight()	robot.swing()	robot.forward()	robot.turnRight() robot.swing() robot.forward() d = d - 1
	end
end

function mysor()
	for i = 1, 3 do
		robot.drop(robot.count()-1)
		for j = 4, 16 do
			robot.select(j)
			if robot.compareTo(i) == true then robot.drop()
			end		
		end
	end
end

function put()
	for f = 1, 10 do
		for i = 1, 10 do
			stolb()
			robot.swing()
			robot.forward()
		end
		mysor()
		povorot()
	end
end

put() 

 

 

Скачать его можно тут: http://pastebin.com/Q0BgFCzH

Не правильно : дисковод 1 уровня. Нужно исправить на - жёсткий диск(или винчестер) 1 уровня

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

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


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

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

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

Гость
Ответить в тему...

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

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

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

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

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


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