Перейти к публикации
Новости
  • В ближайшее время постараюсь разобраться с картой сервера/ЛК/бб кодами
  • Новости

Таблица лидеров


Популярные публикации

Отображаются публикации с наибольшей репутацией начиная с 17.12.2018 в Сообщения

  1. 6 баллов
    Давненько не было автокрафтеров тут. Может, кому-то пригодится моя версия. Предназначена в первую очередь для крафта всяких часто необходимых мелочей со сложными крафтами (например, компоненты OpenComputers) из примитивных исходных ресурсов (например, процессор из слитков золота и железа, тростника и редстоуна), которые у пользователя отнимают кучу времени на поиск всех транзисторов и крафт недостающих. Рассчитана на использовании робота и двух сундуков, один из которых - основное хранилище (может быть покрупнее), а другой предназначен для резервирования компонентов при крафте. Ссылка: https://pastebin.com/1gqtWLub Необходимая конфигурация робота: Проверялась работа на компонентах (корпус, память, процессор, жёсткий диск) второго уровня. Screen, Keyboard Crafting Upgrade Inventory Upgrade и Inventory Controller Видеокарта и экран первого уровня Для дальнейших потенциальных расширений: Беспроводная карта Upgrade Container Конфигурация установки: Перед роботом - контейнер ресурсов (любой из возможных инвентарей достаточного размера) Под роботом - контейнер-буфер (можно обычный сундук) Рядом желательно поставить зарядник Возможности: Рекурсивный крафт сложных рецептов. Ресурсов расходуется, по результатам практических испытаний, ровно столько, сколько необходимо. Каталог рецептов для крафта, разбитый на страницы по 10 предметов для более удобного пролистывания на маленьком экране робота. Портативность - требуется только робот, два сундука и исходные ресурсы. Желателен также источник энергии Сообщения о том, каких конкретно исходных ресурсов не хватает для крафта (исходные ресурсы - те, для которых не найдено рецепта) Процесс крафта подробно отображается на экране, чтоб за ним было не так скучно и одиноко следить (см. недостатки) Об окончании крафта робот сообщит приветливым писком. Равно как и о неудаче. Недостатки и известные недочёты: Скорость..... Крафт занимает значительное время. Например, изготовление процессора 3го уровня из примитивных ресурсов (тростник, красный камень, алмазы, дерево для резаков, слитки золота, железа) занимает около 5 минут. Стоит отметить что количество изготавливаемых предметов не сильно влияет на время (2 процессора, скорее всего, будут делаться те же примерно 5 минут). Не умеет работать с альтернативными ресурсами. Возможно, когда-нибудь исправлю. Не умеет работать с инструментами (имеются ввиду многоразовые, как молот ИК2). Возможно, так же когда-нибудь исправлю. Не умеет работать с количествами предметов более стака, а также не гарантируется корректная работа с предметами, не складывающимися в стак. Постараюсь исправить в ближайшее время. Нет поиска по именам компонентов (то есть, либо задаёте название компонента целиком, либо задаёте крафт через каталог). Когда-нибудь поправлю Проверок на наличие контейнеров не делается, так как программа писалась "для себя" и находится в разработке. В дальнейшем будут введены. Также не везде гарантируется наличие защиты от "Количество предметов: Привет". Особенности: Шаблоны содержатся в одном файле, что облегчает переносимость, но приносит определённые неудобства всвязи с размерами файла (12 строк на предмет). Буду думать, как лучше сделать (разбить на разные файлы?). Файл имеющихся шаблонов могу выложить при необходимости (на разных сборках эти шаблоны могут отличаться) Дальнейшее развитие (no promises!): Исправление имеющихся недочётов Поддержка работы по сети (заказ компонентов, сообщение о готовности - дистанционно). Работа с более сложными инвентарями - сборщики, и т.д. Работа с машинами-обработчиками ресурсов - когда-нибудь в отдалённом будущем, скорее всего. Управление: Интерфейс текстовый. Посмотреть команды главного меню можно, нажав "Enter" (оставив поле ввода пустым).
  2. 4 балла
    во первых, чтобы была конкуретность, а во вторых MineOS это не ось, а граф.оболочка. Эта фраза уже бичом нервов стала, а чертовы доморощенные эксперты-казуисты продолжают лезть изо всех дыр. Элементарная ОСь на платформе опенкомпов состоит буквально из нескольких сот строк кода, реализующих методы работы с файловой системой, позволяющих монтировать физические дисковые носители, грузить библиотеки по предустановленным путям, обрабатывать события и имитировать многозадачность. Все остальное - это графическая оболочка, в моем случае состоящая из десятка тысяч строк кода, вылизанных до предела, чтобы уложиться в строгие рамки ресурсов, выделенных под каждую виртуальную машину в кубаче. Интерфейс майноси с базовым прикладным софтом по типу проводника/настроек/пикчредакторов/магазинов/IDE мы писали с большой командой товарищей около четырех с фигом лет, постоянно его совершенствуя. Эксперимента ради я решил отвязать майнось от опеноси, сделав ее полностью независимой. Это заняло несколько часов. Ценой нескольких, мать их, часов, а также нескольких написанных либ суммарным объемом в две сотни строк майнось стала полностью удовлетворять определению "операционная система", загружаясь с очищенного от скверны жесткого диска и собственного EEPROM. Результат лежит на отдельном репозитории, законсервированный до лучших дней: https://github.com/IgorTimofeev/MineOSStandalone А теперь скажи мне, умник, не кажется ли тебе странным, что вся "ось" пишется на коленке за несколько часов, а "граф. оболочка" - пускай и не годами, но в значительно большие сроки? Может быть, термин "ось" переоценен, и основу современной интерфейсной операционной системы составляет все же графическая оболочка c прикладным софтом? Эх, мяу
  3. 4 балла
    Кстати о майноси: тут несколько занятных софтин подъехало. Например, YobaКалькулатрон9000, как его окрестил товарищ-шестиклассник. Умеет почти все: от работы с различными системами счисления и побитового редактирования чисел до базовых бинарно-тригонометрических операций с отображением символа по его коду. Во-вторых, слегка обновился местный проводник, заимев удобную панель навигации по текущему пути с кликабельными подпунктами а-ля Винда. Ну, и всякие кнопочки для ручного ввода пути появились, а также фича ресайза тулбара: Ну, и наконец не шибко сложная, однако довольно полезная в быту возможность интерфейсного привата компа по аналогии с useradd:
  4. 3 балла
    Часто необходимо писать программы для серверов. Это могут быть сервера для чатов, или файловые облака или что то еще, но всегда приходится писать велосипеды. Подумав об этом я решил написать программу для сервера. Программа работает просто. Подгружает модули из папки проекта, а потом начинает слушать все event'ы и обрабатывать. Представляю вам саму программу: Servercore v0.2.1 Исходный код: http://pastebin.com/NASX9sX0 Использование: Создаем папку проекта Создаем в этой папке файл .servercore Запускаем servercore указывая первым аргументом папку которую мы создали. Если не указывать аргумент то servercore запустится в рабочей директории. Наслаждаемся рабочим сервером, который пока ничего не делает. Любые файлы (кроме .servercore) которые находятся в папке проекта будут загружены как модули. Если модуль содержит ошибку наш сервер не полетит, а просто выведет тест ошибки на экран. При создании модулей можно использовать специальные функции, которые находятся в _G.sc. Описание этих функций: sc.info(info_type:string, message:string) - выводит информацию со временем и раскрашивает как на скринах. Принимает тип информации и само сообщение. Типов информации всего 4: ok,err,warn и info. sc.getTime() - возвращает время в формате unix timestamp. sc.on(event_name:string,handler:function) - добавляет слушателя на сигнал. Циклом слушаются все сигналы а потом запускают функцию обработчик для того сигнала который пришел. Пример простейшего модуля: sc.on("touch",function (e) sc.info("info","you touched!")end) Изменения в версии: Патч 1: убрана обязательная поддержка модемов. Старые версии: Произведение «Servercore» созданное автором по имени LeshaInc, публикуется на условиях лицензии Creative Commons «Attribution-NonCommercial-NoDerivatives» («Атрибуция — Некоммерческое использование — Без производных произведений») 4.0 Всемирная. PS: Название проги звучит как поджанр метала)))
  5. 3 балла
    Так, я хз как реализовать это все, но давайте жрать кушать слона по кусочкам. Для начала надо вытащить из файла ник игрока. Не очень люблю такие страшные конструкции Больше предпочитаю построчно считать и все. Но надо так надо. Смотрим справку на функцию: string.sub (s, i [, j]) Возвращает подстроку s, которая начинается от i и продолжается до j; i и j могут быть отрицательными. Если j отсутствует, то он считается равным -1 (что то же самое, что и длина строки). В частности, вызов string.sub(s,1,j) возвратит начало строки s длиной j, а string.sub(s, -i) возвратит окончание строки s длиной i. Если, после преобразования отрицательных индексов, i становится меньше 1, он корректируется до 1. Если j больше длины строки, он корректируется до этой длины. Если, после этих исправлений, i стал больше j, функция возвратит пустую строку. string.find (s, pattern [, init [, plain]]) Разыскивает первое совпадение с шаблоном pattern в строке s. Если совпадение найдено, то find возвращает индексы строки s, где место этого совпадения началось и закончилось; в противном случае, она возвращает значение nil. Третий, необязательный аргумент init определяет место, откуда нужно начинать поиск; его значение по умолчанию равно 1 и может быть отрицательным. Значение true в качестве четвертого, дополнительного аргумента plain отключает возможности поиска совпадения с шаблоном, так что функция делает простую операцию "поиска подстроки", как если бы в pattern не было символов, считающихся магическими. Обратите внимание, что если задан аргумент plain, то аргумент init также должен быть задан. string.len (s) Принимает строку и возвращает её длину. Пустая строка "" имеет длину 0. Вложенные нули считаются, так что длина строки "a\000bc\000" равна 5. Это все что нам надо! Добавим немного магии, и получим следующий код local file = io.open('config.txt', 'r') --открыть файл конфигурации local a = file:read() --считать 1 строчку a = string.sub(a, string.find(a, '"')+1, string.len(a)-1) --порезать и выкинуть лишнее, обновить данные file:close() --закрыть конфигурацию На выходе в получаем только твой ник. Первая часть решена. Поехали дальше. Я это не понимаю но похоже это сделано для проверки ника того кто нажал на экран. Тут все в разы проще, отлавливаем данные нажатия в массив и потом проверяем их из массива с данными. b = {event.pull('touch')} if b[6] == a then print('Нажатие разрешено!') else print('Ты кто такой еще?') end Как-то так. Конечно вариант предложенный ECS мне больше по душе, но почему бы и не попробовать сделать как-то иначе?
  6. 3 балла
    Чтобы не изобретать велосипедов, проще всего будет хранить конфиг в виде луа-таблицы: { player = "MisterSosister", age = 1488 } Затем загружай его в проге и используй эти данные как угодно. Вчера же писал тебе в чат аналогичный вариант: local serialization = require("serialization") local event = require("event") local file = io.open("/config.txt", "r") local config = serialization.unserialize(file:read("*a")) file:close() while true do local eventData = {event.pull("touch")} if eventData[6] == config.name then --Ник валиден end end
  7. 3 балла
    Я решил попробовать написать софт для OpenComputers и написал небольшую софтину для получения информации о системе. Текущая версия: 2.0 Изменения в 2.0: Появились некоторая дополнительная информация о роботах В конце вместо противного писка звук 1000 длиной 0.1 секунду и 1500 длиной в 0.15 секунд Во всех значениях пропали числа после запятой Изменения в 1.01: ОЗУ теперь в КБ !Скриншоты версии: 1.0! Исходный код v 2.0: https://pastebin.com/4xEfjANx Скачать v. 2.0 (нужна интернет карта): pastebin get 4xEfjANx /bin/status.lua Исходный код v 1.01: https://pastebin.com/HtrMUj5p Скачать v 1.01 (нужна интернет карта): pastebin get HtrMUj5p /bin/status.lua Для запуска введите команду 'status' Скриншоты на ПК и роботе:
  8. 3 балла
    Если требуется получать время именно через интернет, то нет смысла поднимать собственный сервер, благо имеется тонна бесплатных API, мяу: -- Запрашиваем время у сервера в формате JSON local time = "" for chunk in require("internet").request("http://worldclockapi.com/api/json/utc/now") do time = time .. chunk end -- Выковыриваем timestamp в виде миллисекунд time = time:match("currentFileTime\":(%d+)") -- Обрезаем до секунд, т.к. 32-битная архитектура не поддерживает числа таких размеров time = tonumber(time:sub(1, -8)) -- Корректируем часовой пояс до требуемого. Москва - UTC+3. Один час - 3600 секунд time = time + 3 * 3600 -- Профит print("Времечко: " .. os.date("%H:%M:%S", time)) -- Можно и покомпактнее -- print("Времечко: " .. os.date("%H:%M:%S", tonumber(time:match("currentFileTime\":(%d+)"):sub(1, -8)) + 3 * 3600))
  9. 2 балла
    Приветствую всех любителей электронных самоделок, а также мастеров, выполняющих ремонт электроники. Развлекательное роботостроение не ограничивается одним лишь Майнкрафтом, и в нашем чатике обнаружился интерес к теме пайки. Предлагаю перенести обсуждение в эту тему. Пока не знаю, что из этого получится, тема экспериментальная. Для начала предлагаю просто поболтать о том, кто чем паяет, у кого какие трудности возникают, и кто как их решает. Возможно, кто-то знает интересные наборы для самодельщиков, готовые платы. В общем, кидайте сюда интересные мысли. А потом поймём, что с этим можно сделать и стоит ли выделять под возникшие идеи отдельные темы. Данная тема пока опубликована во флудилке, но флудом прошу не злоупотреблять. Перепечатывать уже имеющееся обсуждение из чатика сейчас я не буду. Но когда у меня появятся новости, буду публиковать их в этой теме вместе с предысторией. Любой желающий уже сейчас может здесь поделиться своими мыслями о пайке и электронных самоделках.
  10. 2 балла
    Упразднить правила, не нужны они (имхо).
  11. 2 балла
    Всех в баню. И не выпускать пока не подружатся.
  12. 2 балла
    Всё это внутриигровые моменты. Ты допускаешь в свой приват многих игроков. Какими бы благими побуждениями ты ни руководствовался, но за свой приват ответственность несёшь только ты. Всегда есть риск нарваться на злоупотребление доверием. И вот, этот риск был реализован. @kcalBxoF мог вообще снести все твои постройки до бедрока. Такую возможность он имел, хотя и не воспользовался. И администрация вряд ли бы помогла тебе, т.к. ты сам подставился. Одно дело, когда приват нарушается средствами багоюза, а другое -- твоим собственным разрешением. Я не уверен точно, какую эскалацию имел в виду @Fingercomp (надеюсь, он разъяснит подробнее), но я для себя отметил эскалацию конфликта в чате форума. Днём ранее я переоценил твою способность к ведению диалога. Я с пониманием отношусь к твоему негодованию, но это не значит, что его следует выплёскивать в общий чат. И выданный мут был нарушен, надо признать это. Даже если он был несправедливым. Если не хочешь получать бан, то можешь вернуть чатбокс, например. И давайте не забалтывать суть темы рассуждениями о вирусах. Их распространение является частью игры.
  13. 2 балла
    Меня, конечно, на сервере не было, но зато есть логи чата, и по ним выводы можно сделать очень печальные. Я отказываюсь быть тем, кто разрешит эту жалобу. Вместо этого внесу свои рассуждения. kcalBxoF: рекомендую перманентный бан. Во-первых, грубое и неоднократное нарушение правила 2.3.2. Игровые правила не описывают состояние аффекта или тому подобного, как и не требуют определения вменяемости, но пункт 2.1.11 устанавливает совершенное безразличие к таким обстоятельствам, а потому никаких поблажек здесь быть не может. Оскорбления есть. Куча. Матов тоже куча, как до, так и после инцидента, о котором форумчане, к сожалению, уже имели неудовольствие ознакомиться в чате. Можно было по-человечески обойтись? То есть дать 5 дней бана и успокоиться. Ответ: нет, нельзя. Потому что тем же игроком нарушено правило об мультиакком. Я очень хорошо знаю прежние аккаунты этого господина — я сам его и банил перманентно. Там были и багоюз, и опять маты. Я не вижу никакой причины проявлять терпимость. Его положение здесь должно быть таким: хочешь играть — ассимилируйся, иначе — к чёрту, пешком. Собственно, вторую часть здесь и стоит использовать. Пересказывая начальный тезис: в моём суждении императивно категорически, что требуется перманентный бан. На форуме банить смысла, конечно, нет, но в игре — непременно. Vladimir: рекомендую бан на 7 дней. Руководствоваться следует правилом 2.1.11. Нет, я тоже считаю, что такое правило вообще не требуется здесь, ибо только вредит, однако причина применения его здесь другая. Во-первых, это беспричинная эскалация конфликта. Во-вторых, несоблюдение выданного Кибером мута. Здесь я выразить стороннюю мысль хочу. Я присоединяюсь к мнению Владимира и считаю мут этот необоснованным, бессмысленным, но, что ещё ужаснее, беспочвенным. Доказательства есть. Ложных показаний нет. В логах всё прекрасно видно. "Немного матов", — примерно такое объснение я услышал от самого Владимира, но, конечно, полностью доверять здесь нельзя ему точно. Однако и без Владимира все форумчане могут убедиться, каким чистым белым зайцем выпрыгнул из этого топкого болотца kcalBxoF: достаточно открыть банлист и увидеть отсутствие каких-либо санкций к нему. В то же время я не хочу ставить это Киберу в вину: он занят, мог проглядеть, и мут выдавал из здравого смысла, а не формальности. Потому и за несоблюдение требуется какая-то мера наказания.
  14. 2 балла
    @MisterFunny01, мяу, я так и не услышал, какие же фичи "фиг найдешь". Предположу тогда, что все они задокументированы. Фон - это своеобразная защита от "пустоты", предотвращающая эффект наложения кадров экранного буфера в стиле Windows XP. Если его убрать, то получится следующее: Происходит это потому, что при перемещении окно отрисовывается в экранный буфер по новым координатам. Однако окно, отрисованное по старым координатам, никуда не делось - его нужно "стирать" или заливать каким-то цветом перед отрисовкой нового. Этой цели и служит фоновая панель, которая иметь любой цвет - хоть черный, хоть фиолетовый, лишь бы не прозрачный/отсутствующий. Напомню также, что OpenOS работает не с экранным буфером, а напрямую с компонентом GPU, поэтому в буфере не будут содержаться данные о пикселях, установленных OpenOS. Так что вдвойне логично иметь фоновую панельку для стирания фона. 1) Открываем документацию: https://github.com/IgorTimofeev/GUI 2) Кликаем в содержании на пункт GUI.object 3) Смотрим, что каждый объект имеет метод :remove() 4) Profit Ежели требуется закрывать окно при клике, скажем, на кнопку отмены, то: layout:addChild(GUI.adaptiveRoundedButton(1, 1, 2, 0, 0xB4B4B4, 0xFFFFFF, 0x969696, 0xB4B4B4, "Отмена")).onTouch = function() -- Удаляем объект окна window:remove() -- Отрисовываем изменения сначала в буфер, а затем уже на экран application:draw() end
  15. 2 балла
    Ну, формулировать за тебя условия задачи и выполнять решение я точно не буду. Я могу помочь лишь наводящими вопросами. Ещё могу указать на ошибку, если, конечно, замечу её. Могу подсказать, как сделать код лучше. Поэтому твоя первая задача заключается в чёткой формулировке, что именно ты хочешь получить. А то получится как в том анекдоте: в Фотошопе нужна только одна кнопка "сделать красиво". А вот и ответ. Сначала надо изучить Lua. В простых примерах. Для начала сгодится HelloWorld какой-нибудь. Но можно и сейчас начать с чего-нибудь простого. Например, с программы без GUI, которая может выключить компьютер в зависимости от решения пользователя. Или даже не выключить, а просто сообщить о выборе пользователя.
  16. 2 балла
    local fs = require("filesystem") local f = io.open("/tmp/time", "w") f:write("time") f:close() local timestamp = tonumber(string.sub(fs.lastModified("/tmp/time"), 1, 10)) + 3600 * 3 --Умножаем на часовой пояс, в моём случае GMT +3 local realtime = os.date("%d.%m.%Y %H:%M:%S", timestamp) --Реальное время в формате День.Месяц.Год Час:Минута:Секунда print(realtime) Зачем городить всякие сервера? Код выше позволяет получить время машины на котором играешь(Сервер или твой компьютер)
  17. 2 балла
    Просто приставка "кило" - это приставка из системы СИ. И равна 1000. Но по русским ГОСТам принято считать "кило" за 1024. Плюс многие компании считают так же. А вот производители флешек часто пишут в системе СИ, чтобы число больше было. По системе СИ, для множителя 1024 надо использовать приставку "киби" - "кибибайт". Так что Google не врет, он просто слишком точен.
  18. 2 балла
    Начну по порядку. Нужно чтобы график брал за середину то значение, что есть в бочке. Да такое возможно, но только ошибок при таком выводе будет море и график будет скособоченный, тоесть со смещением вверх. Это выглядеть будет во первых некрасиво, во вторых при опускании графика ниже начнутся ошибки, можно конечно все это обработать и исключить, но увы мне лень. Желательно чтобы график был как на картинке? Я взялся за эту работу так как видел уже готовую библиотеку графиков. Мне хотелось самому научиться работать с ней и вообще посмотреть пощупать, как это все работает. Я для себя задачу выполнил, разобрался что да как работает, как вывести синусоиду, полосу, или гистограмму. Именно на ней построена текущая программа и та библиотека по определению не поддерживает рисование таких графиков. Это можно увидеть в описании библиотеки. А разрабатывать свой код для того чтобы выводить 1 единственную линию ... извините меня, но это не очень как-то звучит. Объяснять как это можно переделать я не буду. Библиотека которую я использовал не удовлетворяет вашим запросам, а писать костыли для того чтобы заставить её выводить как вам надо информацию, на мой взгляд это кощунство по отношению к её создателю. Как самому сделать? Учить луа, разобраться как работает GPU, подтянуть математику, вывести формулу для отрисовки и написать программу. Можете даже использовать готовую уже программу по выводу графиков, что на скрине у вас, но боюсь для вас это будет как блохе до паровоза. Ну а коль моя программа не удовлетворяет вашим требованиям, дерзайте сами или ждите может кто подтянется и напишет то, что вам надо. Вообще зачастую приходится потом самому заказанную программу сидеть и напильником точить до нужного состояния.
  19. 1 балл
    Какие именно фичи интересуют? Какие фичи фиг найдешь? Создание окошка с кнопочками - дело пары минут, описанное в деталях в документации: local GUI = require("GUI") -------------------------------------------------------------------------------- -- Создаем главный контейнер с черной фоновой палелью local application = GUI.application() application:addChild(GUI.panel(1, 1, application.width, application.height, 0x0)) -- Добавляем окошко в главный контейнер local window = application:addChild(GUI.titledWindow(50, 22, 60, 14, "Акошко", true)) -- Добавляем лейаут размером 1х2 в окошко local layout = window:addChild(GUI.layout(1, 2, window.width, window.height - 1, 1, 2)) -- Задаем размеры горизонтальных рядов для лейаута layout:setRowHeight(1, GUI.SIZE_POLICY_RELATIVE, 1) layout:setRowHeight(2, GUI.SIZE_POLICY_ABSOLUTE, 2) -- Задаем режим выравнивание объектов для второго ряда по правому нижнему углу layout:setAlignment(1, 2, GUI.ALIGNMENT_HORIZONTAL_RIGHT, GUI.ALIGNMENT_VERTICAL_BOTTOM) -- ... направленние layout:setDirection(1, 2, GUI.DIRECTION_HORIZONTAL) -- ... расстояние между объектами layout:setSpacing(1, 2, 3) -- ... и отступ от правого нижнего угла layout:setMargin(1, 2, 2, 1) -- Доавляем текст в первый ряд лейаута layout:addChild(GUI.text(1, 1, 0x0, "Я оч большой и важный текст")) -- Меняем дефолтный ряд, в который будут добавляться объекты (можно через layout:setPosition(object), но лень) layout.defaultRow = 2 -- Добавляем кнопочки layout:addChild(GUI.adaptiveRoundedButton(1, 1, 2, 0, 0xB4B4B4, 0xFFFFFF, 0x969696, 0xB4B4B4, "Отмена")) layout:addChild(GUI.adaptiveRoundedButton(1, 1, 2, 0, 0xB4B4B4, 0xFFFFFF, 0x969696, 0xB4B4B4, "Еще тык")) -- При "тыке" на эту кнопочку комп будет вырубаться layout:addChild(GUI.adaptiveRoundedButton(1, 1, 2, 0, 0x696969, 0xFFFFFF, 0x969696, 0xB4B4B4, "Тык")).onTouch = function() require("computer").shutdown() end -------------------------------------------------------------------------------- -- Разово отрисовываем содержимое главного контейнера в принудительном режиме (для полной отрисовки буфера, вдруг опенось чет свое нарисует) application:draw(true) -- Начинаем обработку событий application:start() Результат:
  20. 1 балл
    @MisterFunny01, звучит несколько странно, но ладненько.
  21. 1 балл
    Конечно! Оскорбил себя и так сразу высматривать каждую букву захотелось.
  22. 1 балл
    Используй логические выражения. if component.isAvailable("robot") then gpu.setForeground(0x00FF00) print("Это робот, будет отображена дополнительная информация") else print("Это устройство не является роботом") end
  23. 1 балл
    local a, b = math.modf(3.14) print(a, b) ------------- a=3 b=0.14
  24. 1 балл
    Зря ты придираешься к комментариям. И пробельные строки, и комментарии из повторяющихся символов -- нормальные способы оформления, упрощающие восприятие кода.
  25. 1 балл
    Куда там черепахам от крутого вот мой единственный робот. Даём ему лазер, и получаем море дропа. 1 робот создаёт дропа как 8 черепашек. Не задавайте ей больше 16 на 16, иначе лазера не хватит. Режим лазера Long-Range. http://pastebin.com/hePzG1x1 pastebin get -f -k hePzG1x1 t0 Примечание: Для кооперативной работы 4 роботов ставим их так (роботы смотрят вверх): R(35) B B B R(34) B B B R(33) B B B R(32) В скобках уровень. Установки: Left move 64 Forward move 4 Up dig(0,1) 1 Down dig(0,1) 1 или так: RRRRRRR(35) Установки: Left move 1 Forward move 256 Up dig(0,1) 1 Down dig(0,1) 1 Видео: [video=youtube;eOUq4Z6R7xI]
Таблица лидеров находится в часовом поясе Москва/GMT+03:00
  • Рассылка

    Хотите узнавать о наших последних новостях и информации?

    Подписаться
×