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

Totoro

Гуру
  • Публикации

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

  • Посещение

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

    289

Все публикации пользователя Totoro

  1. Строительства чем? =) Робот не сможет ломать блоки и у него не будет других предметов в инвентаре, кроме собранных монеток. Думаю не будет. Это придётся как-то сканировать их постоянно.
  2. Модифицировать софт робота - это чревато ошибками. Один из вариантов решения проблемы - спавнить не предмет, а сундук с предметов, заменяя им блок пола. А по истечении N секунд - возвращать туда блок пола. Типа всё, монетка исчезла.
  3. Да, надо потестить этот момент. UPD. Вот так примерно будут выглядеть все роботы:
  4. Не, о выкинутых монетка не будет сообщаться. Про защиту надо подумать. Хороший вариант - кидать монетки не в сундук, а в воронку (или даже несколько воронок, чтобы нельзя было заткнуть). А из неё уже ссыпется в скрытый сундук. Дисквалификация пока только за две вещи: фальстарт и залагованная программа. Без улучшения можно доставать предметы командой robot.suck(). Нельзя только указывать слот - будет доставаться первый доступный предмет.
  5. 1) Разрушать нельзя. Блокировать можно. 2) Не не не Будут дропаться предметы. Если там уже стоял робот - что ж, ему повезло. 3) Роботы умеют подбирать предметы (команда robot.suck(), если ничего не путаю). Другие блоки ломать нельзя (В следующих раундах будут ломаемые блоки и кирки/лопаты). 4) Доставка на базу - просто везёшь свой инвентарь на базу и высываешь либо в сундук, либо в воронку (посмотрим как удобнее будет). Потырить из сундука не дадим =) Но если ты ему случайно сам дропнешь - то сам себе злой Буратино. Зон для определённых команд не будет, в этом раунде роботам доступно всё пространство арены.
  6. Отлично! Монеты предположительно будут дропом. Т.е. просто item будет валяться на земле. Роботы должны будут его подбирать и относить в сундук. Ну или копить в своём инвентаре, а потом разом ссыпать.
  7. Все вычисления только на роботе. Интернет платы не будет. Других компьютеров, кроме роботов тоже не будет (в этом Раунде).
  8. В следующих раундах будет и выпиливание и всё остальное. =) Круто! Время эвента подгоним так, чтобы участники по максимуму могли участвовать. Щас завершим подготовку и определимся. Здорово! До дронов и фреймов тоже дойдём, если первый раунд пройдёт успешно. =) 1) Давайте определимся со сроками. Очевидно это будет выходной день, суббота или воскресенье, надо завершить подготовку к эвенту, дать немного времени на написание софта. Когда кому удобно будет, чтобы всё успеть? 2) Собственно баттл устроим на одном из серверов местных. Тут я надеюсь на помощь от @Alex =) Ну а если не получится - замутим временный сервачок для эвента. 3) Да. Конфигурация робота будет одна на всех, которую вам выдадут для установки софта перед началом эвента. В Песочнице это будет стандартный робот третьего тира без лишних деталей. Без генератора, потому что не будем отвлекаться на энергию вообще (отложим для других раундов). С одним-двумя апгрейдом на инвентарь. И беспроводной сетевухой. 4) Правила дошлифовываются прямо щас. Собственно опи описаны в стартовом посте. Мелочи будем уточнять. Карта тоже будет известна как только так сразу. Предварительно - это будет восьмиугольная арена с редкими препятствиями, и сундуком в каждой противоположной стене. Точную карту опубликуем когда будет готова арена и более менее понятно число участников. 5) Абсолютный :P Простой робот, чистая OpenOS, большая, пустая арена, где носится ещё X роботов.
  9. Итак, сегодня ночью я извлёк свою лопату, и воскресил давно забытую тему - битвы роботов! Если кто-то помнит прошлую тему - она загнулась из-за неопределёности, сложности и отсутствия некоторой усидчивости её участников. В этот раз всё будет по другому. Я упростил правила и выкинул всё лишнее. И нарисовал няшный логотип. :3 Суть В битве участвуют команды роботов, по N роботов на участника. Количество не важно - сколько наберём участников, столько команд и будет. Участники эвента (игроки) пишут софт для своих роботов. Разрешается использовать как одинаковую программу для всех роботов команды, так и отдельную для каждого. Битва будет происходить на заранее подготовленной арене. Карта будет известна заранее. Координацией игры занимается центральный Сервер. В день Ч роботы строятся на арене, на стартовых позициях. По сигналу Сервера игра начинается и роботам разрешается двигаться. Правила победы и доступные действия зависят от Этапа. Этап 1: Песочница Ориентировочное время проведения самой битвы - зимние праздники. У нас есть месяц на подготовку арены и написания софта. Участники первого раунда: @Totoro, @NightFury, @Quant, @Seryoga, @Fingercomp, @FluttyProger, @astral17, @ALeXeR, @electronic_steve, @LuaGamer, @Nikitat. Оставляйте заявки мне в личку или внизу, в этой теме. Правила Правила первого раунда просты. Все участники играют против всех. Весь раунд будет разбит на матчи, по четыре участника. Каждый участник будет вести команду из 4 роботов. На поле, в случайных местах в полу будут появляться сундуки с монетками. Цель роботов - собирать эти монетки быстрее роботов противника и сбрасывать в воронки на "спавне" своей команды. Кто к концу раунда набирает большее количество монеток - тот победил. Робот может получить дисквалификацию за: Фальстарт. Если начнёт двигаться до сигнала Сервера. Ломание блоков. Если он сломает блок арены/сундук/чужого робота или ещё что-то. В последующих раундах ломание может быть разрешено, но в Песочнице - другая цель. Забагованность и лаги. Если программа случайно или намеренно создаёт жуткие тормоза или просто направлена на вредительские цели =). Тут будет решать админ. Ориентировочное время раунда, от старта до подсчета результатов - 5 минут. Каждые 10 секунд, Сервер будет рассылать сообщение для синхронизации времени. После финального сообщения, раунд считается завершённым и тут же происходит подсчёт монеток в сундуках команд. Монеты, оставшиеся у роботов на момент финиша, учтены не будут. Технические детали По части модов и версий ориентируемся на MC 1.7.10 + OC 1.6 + CX 1.6.1 + OpenPeripheral AIO-7. Генерация монеток на поле будет происходить с помощью командного блока. При генерации, блок пола будет заменён на сундук с монеткой. По истечении времени сундук исчезнет и заменится обратно блоком пола. Чтобы роботы узнали о положении монетки, после генерации центральный сервер будет слать сообщение с координатами монетки по беспроводной сети. Все роботы будут иметь одинаковую конфигурацию и чистую OpenOS 1.6 на борту. Однако разрешается писать разные программы для разных роботов. Арена доступна для скачивания в виде карты: https://dl.dropboxusercontent.com/s/epcz034fsumhsr7/ut-world.zip Подготовка Нам необходимо подготовить к началу эвента несколько мелочей. [ГОТОВО] [2016-12-06] Подготовить арену. Надо построить поле подходящее по размеру для двух-четырёх команд по четыре робота. (Само пространство арены, где будут двигаться роботы сильно загромождать не надо. У нас сейчас упор не на поиск пути.) Оградить его сверху стеклом, чтобы не дать роботам случайно удрать. Расположить информационный монитор, компьютер центрального Сервера. Обустроить места для зрителей. [ГОТОВО] [2016-12-16] Написать софт для Сервера. Сервер должен уметь объявлять начало матча по сети, генерить монеты, рассылать сообщения с их координатами и подсчитывать по завершению матча количество монет в сундуках команд. [НЕ РЕАЛИЗОВАНО] [2016-12-28] Написать проги для голопроекторов и инфо-панелей. Там не всё так сложно: просто рисовать красивенько инфу о матче. [ГОТОВО] Собрать заявки участников. Я полюбому участвую. Обновления [2016-12-01] Ссылка. Арена. Инфа о всех софтверных компонентах. Планы. Архитектура. Гитхаб. Люди и коммуникации. [2016-12-02] Ссылка.В продолжение к предыдущему апдейту. [2016-12-08] Ссылка. Ссылка на карту арены. Изменён состав модов. @astral17 получил доступ к GitHub-репозиториям. Ориентировочная дата завершения написания сервера. Канбан. Планшетов не будет. Гитхаб. [2016-12-14] Ссылка. Написан сервер. Установка сервера. Софт и планы. [2017-01-02] Ссылка. Конфигурация роботов. Процесс настройки перед стартом. Уточнение правил. Сообщения сервера. Изменение даты; время, место. Софт. [2017-01-20] Ссылка.Дата, время, место, распорядок проведения раунда. [2017-01-21]. Ссылка.Итоги и планы. Ну что, посражаемся?
  10. Да, такое случается, тоже замечал. Но почему - непонятно. Надо будет расследовать.
  11. Вот кстати непонятно, как лаг сервера может сбить робота. Ведь выполнение программы производится на сервере и движение тоже, клиент только отображает изменение положения робота.
  12. Мы ещё не увидели ни одной строки кода.
  13. Вообще, как только возникает место, где копипастится дважды один и тот же кусок кода, стоит сразу задуматься - "а правильно ли я делаю?" =) Например тут можно переписать код так: for i = 1, #t do if t[i] == 9 then wX = wXst wY = wY + 1 else term.setCursor(wX, wY) term.write(draw[t[i]]) wX = wX + 1 end end P.S. К слову, для переноса строки лучше юзать число 0. На случай, если у тебя будет бульше восьми символов для рисования. А вот 0 никак не будет конфликтовать, т.к. индексы начинаются с 1.
  14. @qwertyMAN, нет, не из-за этого. Боб инициализирует массив не указывая ключи, а значит, Луа им сам выставляет ключи от 1 до N. А цикл for k, v in pairs(t) do пройдёт по ним по порядку. Но ты прав в том, что по индексированному массиву стоит перемещаться юзая индексы. =)
  15. Не вчитывался в код, но мне кажется это из-за того, что ты сначала рисуешь символ, а потом перемещаешь курсор. Т.е. после перевода строки, первый символ окажется не там где надо, т.к. позиция курсора ещё не обновилась.
  16. Ты ведь обратил внимание, что Наполеон из первого поста УЖЕ пишет чатбота "аналогичного Siri" на Lua и при том на ComputerCraft? Но мне кажется что на деле тут планы так далеко не пойдут. Максимум что мы увидим - это простейший switch с набором заготовленных ответов. И это если что-то вообще будет написано. =)
  17. Не согласен. Если идёт ComputerCraft, то OpenComputers тоже пойдёт. OpenComputers подёт только так, если интерес есть. Другое дело если интереса нету. =)
  18. Ссылочку бы. А то - где заценивать? Не планируешь переходить на OpenComputers?
  19. Так проще парёной репы. 1) Идёшь сюда: https://ru.wikipedia.org/wiki/%D0%9F%D1%81%D0%B5%D0%B2%D0%B4%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D0%BA%D0%B0 2) Копипастишь нужные символы. 3) ... 4) Профит!
  20. Ну, во-первых можно просто взять и напечатать. print("▓") CP437 лучше не юзай, юзай Юникод. OpenComputers поддерживает огромное количество символов Юникода. Для этого предусмотрена специальная либа. local unicode = require('unicode') print(unicode.char(12345)) -- переводим код символа в строку и распечатываем его
  21. Вот вот =) А со стороны собственно софта никто не зашёл. Я скромно полагаю, что это по причине его несокрушимости и неприступности.
  22. Когда банк был на серваке - его пробовали сломать. =) Но, насколько я помню, самые эффективные попытки основывались на социальной инженерии и читах самого Майна.
  23. Вот как бы да, вирус ообычно этим и занимается. А поскольку основная "сложная система" OC - это OpenOS, то все вирусы под неё выглядят примерно так: Я – Чукотский вирус. В связи с очень плохим развитием информационных технологий на моей родине, я не могу причинить вред вашему компьютеру. Пожалуйста, будьте любезны, сотрите самостоятельно один из файлов с вашего компьютера, а затем перешлите меня другим. Заранее благодарен. Чукотский вирус
×
×
  • Создать...