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

Поиск по сайту

Результаты поиска по тегам 'computercraft'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип публикаций


Блоги

  • Робот Байт
  • Fingercomp's Playground
  • 1Ridav' - блог
  • Totoro Cookies
  • Блог cyber01
  • IncluderWorld
  • KelLiN' - блог
  • Крутой блог
  • eutomatic blog
  • Programist135 Soft
  • Сайт в сети OpenNet
  • PieLand
  • Очумелые ручки
  • Блог недоблоггера
  • В мире Майнкрафт
  • LaineBlog
  • Квантовый блог
  • Блог qwertyMAN'а
  • some blog name
  • Дача Игоря
  • Путешествия Xytabich'а
  • Рецепты программирования
  • Шкодим по крупному
  • 123
  • mineOS и её удивительный мир
  • Поляна говнокода Bumer 32

Форумы

  • Программирование
    • Программы
    • База знаний
    • Разработчикам
    • Вопросы
  • Игровой раздел
    • Игровые серверы
    • Моды и плагины
    • Жалобы
    • Ивенты и конкурсы
    • Файлы
  • Общение
    • Задать вопрос
    • Обратная связь
    • Беседка
    • Шкатулка
  • Технический раздел
    • Корзина

Группы продуктов

Нет результатов для отображения.


Искать результаты в...

Искать результаты, которые...


Дата создания

  • Начать

    Конец


Последнее обновление

  • Начать

    Конец


Фильтр по количеству...

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

  • Начать

    Конец


Группа


AIM


MSN


Сайт


ICQ


Yahoo


Jabber


Skype


ВКонтакте


Gtalk


Facebook


Twitter


Город


Интересы

Найдено 12 результатов

  1. Поскольку на Lua можно сделать Brainfuck, это доказывает его полноту по Тьюрингу. Так что нам мешает создать свой язык на Lua? Для создания языка нам надо сделать лексер и парсер. Лексер будет преобразовывать наш код в токены, например: int Variable=2; Получим: TYPE: INT NAME: Variable OPER: EQUALS VALUE: 2 END Теория есть, а практики нет :) Вот пример пару языков на Lua https://github.com/pi-pi3/asm.lua https://github.com/Trystan-C/CC-ASM
  2. Да, мы все знаем, что OpenComputers гораздо более стабильный, безопасный и продвинутый, чем ComputerCraft (который к тому же перестал поддерживаться разработчиком). Однако я до сих пор считаю, что ComputerCraft *гораздо* лучше именно как мод для программирования. И вот почему: Я впервые начал программировать именно в майнкрафте. Смотрел те самые туториалы на ютубе от 1Ridav, даже конспектировал в блокноте. Научиться программировать тогда было очень просто. Посмотрел пару туториалов, зашел на сервер, скрафтил комп и вуаля - сидишь строчишь свою библиотеку создания графических кнопок или ещё что-нибудь. Здорово. А главное - другие игроки могут видеть и то, как ты программируешь, и работу твоей программы. Для начинающих это был действительно самый лучший способ научиться программировать. С эпохой OpenComputers всё изменилось. Теперь, чтобы добраться до рабочего терминала, надо изучить все про сборку компьютера, чуть ли не пройти игру наполовину, чтобы насобирать ресурсов, правильно всё собрать и узнать, что, вообще говоря, тебе нужно питание. И ты идёшь и трахаешься с каким-нибудь industrial craft 2 ещё несколько часов вместо того, чтобы уже писать код. Более того. Уже предвидя этот путь, ты можешь начать развиваться, насобирать ресурсов итп, а потом узнать, что на сервере усложненный крафт компьютеров и всего сопутствующего (основанно на личном опыте: на mcskill Hi-Tech 3 нет GregTech, зато стоит какой-то мод, усложняющий создание компьютера до боли). Честно говоря, после такого опускаются руки. ComputerCraft был хорош именно своей доступностью. Любой мог начать писать свою программу, создав компьютер из говна и палок за пару минут. А интерес новичка держится только тогда, когда он видит наглядный результат своей работы. Новичок не хочет потратить миллион часов на изучение сборки компьютера итп. Он хочет хоп и окрасить пиксели экрана в розовый. Сборка компьютера, ее усложнение, бОльшие требования - это достаточно интересный геймплей, но абсолютно бесполезный, запутанный и мешающий в плане обучения программированию. Я отнюдь не хочу принизить мод OpenComputers, это прекрасный мод. Но, заменив собой ComputerCraft, он убил поток свежей крови на этот форум да и вообще в сообщество программистов. К сожалению, программирование в майнкрафте превратилось из общедоступного обучающего инструмента в область для гиков, которые и так уже все знают и умеют.
  3. Я заметил что на этом сайте нету информации о моде ComputerCraft, но при этом сам Саит создан для мода ComputerCraft Вопрос о том что будет ли популярны программы для ComputerCraft
  4. Постоянно выходит в стартовую ОС, когда пишу on или off. не знаю с чем связано. Я только начал программировать на lua, немного опыта имею. Но не могу понять почему так. Не могу решить проблему уже 4 часа. Спасибо за помощь. Вот код: os.pullEvent = os.pullEventRaw repeat do term.clear() term.setCursorPos(1,1) term.write("ReactorOS 1.0") term.setCursorPos(1,2) term.write("Copyright Bogdikon") term.setCursorPos(1,4) term.setCursorPos(1,3) term.write("Available Commands - On and Off") term.setCursorPos(1,5) local a = io.read() if a == "on" then return redstone.setAnalogOutput("bottom",15) else if a == "off" then return redstone.setAnalogOutput("bottom",0) end end end until true
  5. Маловероятно, что сейчас кто либо продолжает использовать компьютеркрафт, но вдруг. В процессе игры мне понадобилось осуществлять связь между компьютером OC и CC. Так как я не нашёл адекватного способа передачи данных, то придумал костыль. Костыль заключается в передаче данных (на данный момент — строк, если нужно будет передавать что-то другое, то допишу) через... установку и чтение цвета золотого монитора. Код: Использование: Демонстрация: Надеюсь, что кому-то это может пригодиться.
  6. 4eyes Библиотека предоставляющая более удобный интерфейс для работы с мостом из мода OpenPeripherals. Описание Данная библиотека имеет очень удобный ООП интерфейс и много возможностей, в том числе мультипользовательность. Мы можем легко создать свой интерфейс, получать доступ к любому пользователю, слушать события и и работать с клавиатурой. Для примера, код простейшей программы: -- connect libs local eyes = require("4eyes") local class = require("30log") -- create classes local Text = class("Text") do -- class Test function Text:init(surface, x, y, text, color) self.x = x self.y = y self.text = text self.color = color self.drawer = surface.addText(self.x, self.y, self.text, self.color) end function Text:event(bg, us, ev) print(table.unpack(ev and ev or {})) end end -- work with 4eyes local bridge = eyes.Bridge() bridge:getEvent("glasses_attach"):setPostHandler(function (br, ev) print("New user: " .. ev[3]) local us = br:getUser(ev[3]) us:addObject("test", Text(us:getSurface(), 5, 5, "Hello", 0xFFFFFF)) us:renderObjects(br) end) bridge:pull() Как видите, все очень просто. Создаем объект класса Bridge, настраиваем и запускаем метод pull который начнет слушать все события. Сейчас вам может быть не все понятно, например что за PostHandler, и объекты. Об всем этом пойдет далее. Документация Класс Bridge Данный класс является самой главной частью библиотеки, именно в нем происходит слушание событий и добавление/хранение/изменение пользователей. :init() - является конструктором объекта, вызывать явно не нужно, он вызывается сам при создании объекта. При создании создает события по умолчанию (описанные классом Event): glasses_attach - добавляет пользователя в таблицу пользователей glasses_detach - удаляет пользователя из таблицы пользователей glasses_capture - начало сессии с клавиатурой, делает поле captured пользователя равным true glasses_release - конец сессии с клавиатурой, делает поле captured пользователя равным false :pull() - запускает главный цикл программы, слушающий сигналы. :addUser(string: name, string: uuid) - добавляет нового пользователя в таблицу пользователей, принимает имя и uuid пользователя. :getUser(string: name) - возвращает пользователя с указанным ником. :removeUser(string: name) - удаляет пользователя с указанным ником из таблицы пользователей. :addEvent(string: name, Event: event) - добавляет нового слушателя, принимает название события и объект класса Event. :getEvent(string: name) - возвращает слушателя с указанным именем. :removeEvent(string: name) - удаляет слушателя с указанным именем. :eachUser(function: func(Bridge: bridge, User: user)) - выполняет функцию для каждого пользователя. Пример: bridge:eachUser(function (br, us) print(us.name) end) --[[ пользователи: Маша, Петя, Катя stdout: Маша Петя Катя --]] Класс Event Данный класс является обработчиком события. Очень прост. :init(function: handler) - является конструктором объекта, вызывать явно не нужно, вызывается сам при создании объекта. Принимает обработчик события, в качестве функции. :setHandler(function: handler) - устанавливает обработчик. :setPostHandler(function: posthandler) - устанавливает пост-обрабочик события. Этот пост-обрабочик будет вызыватся каждый раз после вызовы обработчика. :handle(...) - обрабатывает событие, сначала обработчиком, потом пост-обработчиком. Принимает любые данные, которые будут переданы обработчику и пост-обработчику. Класс User Класс пользователя. Хранит в себе все объекты пользователя, такие как тексты и геометрические фигуры. ...дописать... Скачать Для того чтобы поставить библиотеку, скачайте два файла: 30log.lua и 4eyes.lua и разместите их в папке /lib либо /usr/lib
  7. Virtual_Universe

    Платформер

    Простейший платформер на LUA. Персонаж умеет ходить и прыгать На все это ушло 32 строки. Сейчас ищу способ создания карты, и её загрузки. Попытаюсь в скором времени накидать клон марио Пример работы: https://vk.com/doc225193884_411588211 Скачать: http://pastebin.com/q1Z7mq5r# Спасибо за внимание.
  8. turtle.refuel() while true do turtle.dig() turtle.forward() turtle.digUp() turtle.digDown() if turtle.getItemCount(16) > 0 then turtle.select(1) turtle.digDown() turtle.placeDown() for i=2, 16 do turtle.select(i) turtle.dropDown() end turtle.select(2) end end сколько нужно нарисовать программок что бы мне можно было развлекатся на вашем сервере? и подойдёт ли эта программка для роботов, или ещё каких-нибудь созданий, которые понимают Луа
  9. Привет all. (после публикации заметил ошибку в названии темы и тегах, код для OpenComputers а не для ComputerCraft, я их постоянно путаю) код 204 байта: _=component;m=_.proxy(_.list('modem')())m.open(7)u=table.unpack::r::e={computer.pullSignal()}if e[1]=='modem_message'then;_={load(e[6])}if _[1]then;_={pcall(_[1],u(e,7))}end;m.send(e[3],7,u(_));end;goto r или код 231 байт: ::r::pcall(load("_=component;m=_.proxy(_.list('modem')())m.open(7)u=table.unpack::r::e={computer.pullSignal()}if e[1]=='modem_message'then;_={load(e[6])}if _[1]then;_={pcall(_[1],u(e,7))}end;m.send(e[3],7,u(_));end;goto r"));goto r Записать в EEPROM любого устройства имеющего сетевую карту, и включить устройство. На отдельном компьютере выполняющем роль сервера выполнить код примера: modem.open(7) modem.broadcast(7, "return 'Hello ', _VERSION, ...", true, 42, 'bebebe') Прочитать ответ от модема, и понять что произошло. ============================================= Дополнительные примеры: broadcast(7, 'bebebe') broadcast(7, 'bebebe()') broadcast(7, 'return {}') broadcast(7, true) broadcast(7) broadcast(7, 'return computer.pullSignal()' ) code=[[ --my super puper long program nice code ]]; broadcast(7, сode) broadcast(7, 'component.proxy(component.list("eeprom")()).set(...)', codeforflashing) и прочие извращения 1,2 покажут обработку ошибок на стадии компиляции и выполнения; 3,4,5 покажут различие в коде 204 и 231 и ограничения передачи данных; 6,... - некоторые возможности Для самых бегемотов: Можно Хранить код 204 в setData Можно добавить аутентиикацию, чтоб вражина за стенкой не broadcast-ил нам тут с планшета Можно построить SCADA-систему из дронов, роботов, контроллеров и компьютеров. Что-то еще... ЗЫ mods/OpenComputers-MC1.7.10-1.5.12.26-universal.jar примеры не проверял, писал здесь сходу.
  10. https://www.youtube.com/watch?v=0H3kYbfTzqQ Начинающему гриферу теперь необходимы две жемчужины и три алмаза (и х3 TNT, конечно), и всякий мусор для крафта черепахи и кпк.
  11. Вышло обновление computercraft, добавили командный компьютер, суть его он может исполнять команды minecraft, без командного блока, но он присутствует в крафте. Добавили сериализацию JSON
  12. Написал программу которая позволяет взламывать шифры криптографической стойки . Для этого надо : Bitnet антенна , криптографическая стойка . Код можно скачать здесь: http://pastebin.com/n5967tMd . m = peripheral.wrap("top") ca = peripheral.wrap("right") algos = {"AES","Blowfish","DES","DESede","RC2"} --запрос данных с вышки битнет while true do M = {1,1} while true do A = {1,1,1} A[1] ,A[2],A[3] = os.pullEvent() if A[1] == "bitnet_message" then --print(A[3]) M[1] = A[3] end A[1] ,A[2],A[3] = os.pullEvent() if A[1] == "bitnet_message" then --print(A[3]) M[2] = A[3] break end end --разшифровка local function decryp(key,text,Method) key2 = ca.decodeKey(Method, key) text2 = key2.decrypt(Method, text) return text2 end --главный цикл for i =1 ,5,1 do re,res = pcall(decryp,M[1],M[2],algos[i]) if re == true then print(re) print(algos[i]) print(res) if res == "password" then break end if re == true then break end end end end algos = {"AES","Blowfish","DES","DESede","RC2"} список возможных кодировок , от ARCFOUR пришлось отказатся так как он реагирует на все A[1] ,A[2],A[3] = os.pullEvent() if A[1] == "bitnet_message" then прием шифра производися через битнет . для приема иcпользую os.pullEvent() и фильтрую на тип "bitnet_message". для полного приема это действие производится два раза key2 = ca.decodeKey(Method, key) text2 = key2.decrypt(Method, text) сам метод разшифровки , первое разшифровка ключа , второе разшифровка текста re,res = pcall(decryp,M[1],M[2],algos) безопасный вызов функций decryp(). метод подбора шифра шифра состоит в том что метод при неверном алгоритме крашится, необходима функция pcall. re - ответ , успешно ли программа сработала. res результат , выводит разшифрованный текст. M[1] и M[2] это ключ и текст так же программа передачи и приема : http://pastebin.com/HTxrtezc --передача http://pastebin.com/EP6rgpR7 --прием они взяты с вики:http://computercraft.ru/wiki/Cryptographic_accelerator . (к сожалению что то с загрузкой картинок, поэтому картинки залил на Яндекс Диск: https://yadi.sk/i/3wYBJmuzeAPrp , https://yadi.sk/i/4-w9nPTHeAPrk , https://yadi.sk/i/h9MR3ANheAPrt , https://yadi.sk/i/VPoSkAi4eAPrv)
×
×
  • Создать...