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

davial

Пользователи
  • Публикации

    263
  • Зарегистрирован

  • Посещение

  • Победитель дней

    5

Сообщения, опубликованные пользователем davial


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

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

    Его задача копать 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 уровня


  2. очередной гениал, считающий что программа робота запускается и работает на клиенте, а не на сервере?

    Ты прав. Забыл я об этом .

    Каюсь. Впредь это не повторится.


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

    Уже исправил. При проверке в сингле - исправлял "на месте", а тут - забыл.

    А если у меня туннель будет 256 чанков ? Тоже вдоль ? :)

    Может перестанем делать велосипеды, начнем делать вертолеты? 

    Доросту - буду делать ... напильником ... из ... паровоза. :D


  4.   За основу был взят код : "Miner 3x3" http://pastebin.com/hzJZtAWA   (Спасибо Programist135 за любезно предоставленную программу).

       При "ковырянии" были замечены закономерности, которые превратились в функцию Dig(). (Позже увидел, что не один я использую такой приём).

       Далее ... ну не устроило меня, движение робота со многими разворотами - решил выбрать движение "змейкой" или "зигзагом". 

       И понял ... что интуиция меня - не подвела. 

       Количество ходов уменьшилось на 2 (а с учётом выбрасывания комманды Around, можно сказать, что почти на 3) за каждые вскопанные 9 блоков.

     

       Код :

       Версия 2-я :http://pastebin.com/M9zBTNyy (сырая старая версия.)

       Версия 5-я : https://pastebin.com/L8kKTPzp (доработанная с учётом сыпучих блоков, мобов и лагов сервера)

       Скрины : https://yadi.sk/d/XwlHrvnchMXpS

     

       Программа писалась, конкретно - под работу с алмазным буром(или иным "универсальным инструментом, копающим всё.)

     

      Минимальная комплектация робота :   

       

    Обязательные минимальные элементы компоновки :

    ЦП-1 уровня
    ОЗУ- планка 1 уровня(1шт.)
    Винчестер - 1 уровня(1 шт.)
    ЛуаБИОС (как же без него :))
    Монитор - 1 уровня, клавиатура (для исправления "на ходу")
    Апгрейд-инвентарь(чтобы робот мог держать "в руках" бур)

    Дисковод(но не обязательно. Программу можно записать на винчестер в компе, а потом - установить в робота)

     

     

       P.S. Данный "продукт", выложен с целью ознакомления, с вариантом решения конкретной проблемы. Автор кода(т.е. ваш покорный слуга) - не несёт ответственности, за любой ущерб в игре, от использования данного кода в работе ваших роботов  :blum2: , а также негативно относится : к создания фанклубов или религиозных течений "моего имени".  :whistle3:

    • Нравится 4

  5. Что самое странное, когда пробовал - не работало, перезапустил майн сингл - заработало.

    Вот, то же самое, я тебе и про своего робота говорил. Проверил в сингле - всё как надо делает. Без всяких пропусков ходов.


  6. Будет ласковый дождь, будет запах земли.

    Щебет юрких стрижей от зари до зари,

    И ночные рулады лягушек в прудах.

    И цветение слив в белопенных садах

    Хех ...  :unsure: Вот такого бы сделать  :grin:


  7. Лава тебе не нравится? :) Потом добавлю эффекты радиации,когда я смогу подключить командный блок к компу :smile14:

    Лава, это - хорошо, нужная вещь в воронке ... Но если ещё и "сталкеры", не смогут без защитного костюма (или используя только робота с планшетом) - за "хабаром" в это пекло полезть. То это будет - жесть. :blink:  :D

     

    P.S. Ведь что-то же там после "взрыва" - должно остаться.  :)


  8. В принципе - вполне жизнеспособная идея.

    Но потребуется достаточно тонкая программа, которая будет внимательно контролировать уровень энергии, возвращать робота к электростанции и переносить ее, когда расстояние от места добычи к электростанции становится нерационально большим...

     

     

    Есть ещё третий вариант : добавить второго робота, который будет заниматься - чисто энергостанцией.   :rolleyes: 

    И связать их между собой по сети. Заглох первый - вызывает второго, и тот сломя ноги ( колёса, гусеницы, сопла, антиграв [нужное подчеркнуть] ) - несётся на выручку.

    А в "не рабочее время" производит зарядку станции "подручными" средствами.  :smile89:  :D 


  9. По моему пониманию можно не просто угнать чужого робота, а все роботы в зоне действия передатчика будут ездить одинаково. Чуть пораньше можно было бы сделать парад к 9 мая мимо спавна.

    А роботы Алекса - парад принимали :D

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