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

Chebuya

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

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

  • Посещение

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

    72

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


  1. 3 часа назад, Doob сказал:

    2. Да. При износе кирки робот едет на базу и ищет в контейнере другую такую же, но с меньшим показателем износа.

    Ага. А если кирка сломается во время раскопки пути? Или странные ломания блоков при старте калибруют всё это дело и программа всё это рассчитывает?


  2. Решил потестировать, и есть пара вопросов:

    1. Можно ли эксплуатировать робота без зарядника?(Если поставить угольный/солнечный генератор)

    2. Есть ли автозамена кирки/зарядка бура?


  3. Еще одно обновление:
    Добавлена возможность загрузки модулей с планшета, то есть теперь можно расширять код хоть до полу мегабайта.
     

    Для начала была добавлена сериализация, чтобы таблицы нормально отображались при отправке на планшет:

    Скрытый текст

    fVV6gHxaHJE.jpg


    uE7iS1S.png

    Теперь можно не ограничиваться фантазией и писать сколько угодно(в пределах, разумеется, ограничивается лишь размером оперативной памяти у дрона и планшета)

    • Нравится 2
    • Одобряю 1

  4. Небольшое обновление:

     

    Доделал интерпретатор, теперь почти неотличим от оригинала. Теперь не нужно писать return чтобы вернуть значение, так же добавил возможность прекратить код через CTRL+D при исполнении

    Скрытый текст

    d1vl7Wn.png

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

    net <program_name>

     И она сию минуту загрузится на дрон:

     

    Скрытый текст

    B2CTD1t.png

    Установка:

    wget https://raw.githubusercontent.com/BrightYC/DRC/master/network-load.lua net.lua

     

    Так же, в интерпретаторе есть функции:

    • update() - обновляет данные на планшете
    • print(...) - помогает отправить данные на планшет в работающем коде
    • sleep([timeout: number]) - сон он и в африке сон 
    • pull([timeout: number]): name, ... - ожидает какой-либо сигнал не ломая связь 
    • move(dx: number, dy: number, dz: number, wait: number) - блокирующий drone.move
    • distance(): number - возвращает расстояние до планшета, если ответ не пришёл в течении 3 секунд - возвращает 0
    • moveToUser() - перемещает дрон к планшету
    • slot([slot:number]) - безопасно выбирает слот(К примеру - в дроне всего 4 слота, но slot(5) выделит самый последний и не выкинет ошибку)
    • clear - очищает терминал
    • Нравится 7

  5. 9 часов назад, Alex сказал:

    клавиши лучше назначить так (по смыслу рядом или от первой буквы того, что они делают ):
    h (home) домой

    c (колор) цвет

    u (update)- обновить данные какие-то(а лучше все сразу)
    t / y - взять/положить

    q - вых

    i - инвентарь

    wasd - движение

    ...
    и тп.
     

    Так проще будет запомнить.
     

    Запомнить может и проще, но тянуть руки на другую часть клавиатуры-перебор. Основные функции постарался уместить рядом с WASD, 

    чтобы было проще.


  6. 1 час назад, Doob сказал:

    Например, E не возвращает дрона домой.

    упс, у меня клавиши на клавиатуре перепутаны=d

    1 час назад, Doob сказал:

    Значит, срабатывает в исключительных случаях, когда дрон не сдвигается на достаточное расстояние для ошибки при округлении. У меня получилось воспроизвести только два раза, оба раза лечилось перезагрузкой мира.

    Я не смог отловить за всё время использования на 2 разных версиях игры на разных картах такие странные баги.

     

    P.S Подсказку починил, возвращение домой на 'T', а 'E' - обновить данные

     


  7. 15 часов назад, Doob сказал:

    Нет, если дрон и передатчик находятся на оси Z, то при команде на возвращение, дрон входит в бесконечный цикл пингования.

    Еще в подсказке некоторые пункты перепутаны.

    Проверил, всё работает штатно. 

    А в подсказке что напутано? Если ты про видео - там действительно напутано.

    P.S Я вставал прямо по оси Z, дрон спокойно прилетал домой, почему он должен входить в бесконечный цикл?

    UPD: Не забывай про то, что по стандарту у модема 20% мощности. Возможно ты слишком далеко отлетел, дрон просто не может принять сообщение, увеличь мощность модема. Если не сложно, можешь поподробнее объяснить как и где это происходит? 


  8. Может мне кто-то объяснить, почему иногда tablet.getYaw() выдаёт отрицательный значения, а иногда - положительные. Что за ерунда? 

    P.S Уже не важно, связано было с определением стороны взгляда 

     


  9. 7 часов назад, Doob сказал:

    Какая точность при наведении на игрока? Будет ли тупить, если игрок стоит строго на оси Z?

    Помню, надо было делать двойную проверку при триангуляции, либо добавлять еще точки для замера, чтобы дрон не пролетал мимо.

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

    6 часов назад, eu_tomat сказал:

    @BrightYC А что делает знак подчёркивания в этой строке function ds()sn("PING")_,dtu=lm(3)return dtu or 0 end кода дрона?

     

    Рекурсию в функции gtu предлагаю заменить на цикл repeat-until

    _, dtu пропускает первый аргумент со строкой модема, в lm() видно код. А что не так с рекурсией? Экономит место, по крайней мере я проблемы не вижу.

    return dt[3],dt[5],dt[6],dt[7],dt[8],dt[9]

     

    6 часов назад, eu_tomat сказал:

    @BrightYC Интерфейс выглядит приятно. Но для полного счастья не хватает односимвольного режима экрана для максимально открытого обзора летающего дрона.

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

    4 часа назад, serafim сказал:

     

    @BrightYC  простенький код  в довесок к твоему

    
    local full = false
    local x_max, y_max = gpu.maxResolution()
    
    [44] = function() full = not full if full then gpu.setResolution(1, 1) else gpu.setResolution(x_max,y_max) info() end end,
    -- 44 = кнопка Z

     

    Ну, кнопка 'z' уже занята, да и односимвольный режим включается по кнопке 'm', но спасибо. Вот кстати код, если кто не заметил:

    [50] = function() if not stuff.hide then stuff.hide = true event.cancel(battery_timer) event.cancel(clock_timer) event.cancel(data_timer) gpu.setBackground(color.black) gpu.set(1, 1, " ") gpu.setResolution(1, 1) else stuff.hide = false battery_timer = event.timer(5, battery, math.huge) clock_timer = event.timer(60, clock, math.huge) data_timer = event.timer(20, update_data, math.huge) gpu.setResolution(80, 25) draw_gui() first_launch() end end

    Длинновато, да.


  10. Только что, Alex сказал:

    то есть получается для надежной связи с роботом, который где-то катается и получает инфу какую-то и команды, этот робот должен периодически сам переподключаться на канал? Иначе он рискует оказаться вне связи?

    Абсолютно верно =d

     


  11. 5 часов назад, Hikooshi сказал:

    хотя меня больше интересует вопрос, как люди делают фильтр неправильных ссылок, ведь result в этих случаях будет true

    Как вообще компьютер может знать, что ссылка "неправильная?"

    Он устанавливает соединение, для него эта ссылка уже правильная, поэтому и возвращает true.

     


  12. Только что, AtomicScience сказал:

    Сейчас крайне странно выдать какую-то ересь, а потом подкрепить её "постиронией". 

     

    Практика в майне - рес, для тебя это развлечение. 

    Тут нет никакой практики, чистая теория. Этим никто заниматься не будет, так как все сложные проекты так и были похоронены, истории свойственно повторяться.

    P.S Играй в сетевого программиста, против ничего не имею, в моём понимании майн - картошка и двери, для тебя - сетевое программирование.


  13. 3 минуты назад, AtomicScience сказал:

    Вот именно - вы боитесь поднять голову выше банального пинг-понга пакетами между платками, а ваши низменные интересы ограничены фермами пшенца и картошечки на дронах и прочей ерунде уровня третьего класса церковно-приходской IT-школы.

    Когда на AtomicWars (дай бог ему здоровья и стабильной работы) вы задумаетесь над чем-то более глобальным, чем пароли на двери и бурение шахт друг-другу... на участках, вы так или иначе столкнетесь с необходимостью соединить ваши компьютеры, дронов и роботов в сеть. И именно тогда вы вспомните старину Атомика, который, словно Прометей, принес вам то, что изменит вашу жизнь навсегда.
    Запомните этот твит

    Мои интересы в практической пользе, и ферма картошки - не исключение=d 

     

    Чем-то глобальным? Всякие OpenNet'ы и дзены не пользовались популярностью, так и весь майн ограничивается "картошкой".

    Это майнкрафт, не нужно слишком переусложнять абстракциями. Fingercomp вообще забросил UT3 потому что начал делать Wonderful, потому что ему нужно было подключать 4 монитора с сервера =d

    Зачем всё переусложнять? Почему нельзя поставить 4 сервера и подключить 4 монитора? 


    P.S Я, например, никогда не понимал в чём смысл той же MineOS. Безусловно, труд проделан титанический, никто и не спорит. Просто люди занимаются тем, что им приносит удовольствие, и я не против этого.

    P.P.S Это я к тому, что ты заявляешь OCNS обязан изменить нашу жизнь, поэтому и спрашиваю действительно практический пример, а не в фантазиях говорить о стаях дронах перемещающих гигабайты информации.


  14. 5 минут назад, Totoro сказал:

    ...

    Зачем? Сами карты в игре уже предоставляют нормальный интерфейс, а всякими дронами и редстоунами здесь еще и не пахнет.

    Просто не имею понятия, где действительно применять на практике. Только побаловаться. Хотя, это игра, тут развлекаются как хотят.


  15. Зачем это всё нужно если обычно OC ограничивается обычной простой пересылкой сообщения по модему? Кто это будет использовать? 

    P.S Это не в стиле "Зачем это нужно", просто объясните, как это применить на практике.

     


  16. Небольшой порт под самого дешевого робота (в начале игры дрона делать дорого) и работа по лкм/пкм

    У робота нужно иметь инвентарь, процессор и память, по желанию солнечная панель.

    https://raw.githubusercontent.com/BrightYC/Other/master/robofarm.lua


  17. 13 минуты назад, GNT сказал:

    но как запустить прогу на всех компах

    Какую прогу? Для чего это нужно? 

    P.S Пишешь программу, которая "сканирует" все компьютеры с интернет-картой, и передаёт всем данные.

     

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