Перейти к публикации
Форум - ComputerCraft
Arseniy10

Копилка идей

Рекомендованные сообщения

Пишите в тему идеи для создания программ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ИИ способный пройти тест Тьюринга

 

P.S. Уважай Тьюринга, он был геем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Камеру на геосканере

Уже есть

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Есть одна идея, но там мало программирования. Да и на реализацию времени нет. Оставлю её сдесь вдруг кому интересно будет.

 

Конструктор конвеерного производственного процесса
 

     Классно было бы иметь такую систему, в которой из небольших блочков можно было бы собрать небольшой заводик. Например по кравту каких-нибудь деталек, сборке урожая, сборке других закрытых систем. Или чтобы хардкорные майнкрафтеры могли легко создать структуру занимающеюся распределёнными вычеслениями.


Более формальное описание проекта:


Среда -- конструктор конвеерного процесса, который является темой этого поста;

Система -- множество процессов, которые мы хотим наладить при помощи среды


Элементы среды

  • Блоки - это набор элементарных преобразований, которые имеют несколько входов и выходов. Входы делятся на два типа: основные и управляющие. Основные входы служат для передачи потока объектов по конвееру, управляющие -- для управления свойствами блока. Выходы также делятся на два типа: основные и сигнальные. Сигнальные выходы предназначены для предачи какой-либо информации управляющему копьютеру.
  • Упраляющие компьютеры - это компьютеры, которые занимаются синхронизацией и управлением некоторым подмножеством блоков. Относительно внешнего мира, каждый такой компьютер определяет новый составной блок, который также имеет набор входов и выходов.
  • Управляющее ПО - это ПО, которое должно стоять на каждом управляющем компьютере этой системы, через него должен описываться процесс охватываетмый компьютером. В этой программе блоки должны представлятся в виде объекта, у которого есть функции init, sleep, stop и поля, которые задают управляющие входы и выходы.
  • Моделирующие ПО - это ПО, идёт отдельно и служит для виртуальной настроки системы. Одной из её возможностей является подгрузка библиотек с online ресурса, в которых содрежаться блоки, их спецификации и инструкция по сборке блока.

Задачи

  • Создать формализм для описания моделируемого блока, управляемого блока, спецификации и схемы по сборке блока
  • Создать формализм для описания управления распределённой структурой
  • Создать управляющее и моделирующее ПО
  • Создать ПО для описания спецификаций блока

 

Имея такой набор инструментов можно создать распределённую иерархическую систему любой сложности.

Изменено пользователем Seryoga

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ручное управление турелью.

Cерьезно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

Ручное управление турелью.

а разве LuaGamer его не собрал еще? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а разве LuaGamer его не собрал еще? 

А че его собирать-то?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
А че его собирать-то?
Я уже давно собрал... Когда автоматическое сделаю, тогда и ручное выложу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

а разве LuaGamer его не собрал еще? 

А чего ты на него смотришь?

Сделай свою прогу, с блекджеком и покемонами. Я так и сделал, увидев неплохую (ужасную) версию кликера.

 

У всех ведь стиль написания кода разный, интерфейс программы разный, реализация разная. По любому тут нет смысла задаваться вопросом, а не велосипед ли это. Иначе бы не было такого разнообразия Linux дистрибутивов, если бы по логике "уже есть, значит не надо" не создавали бы новые дистрибутивы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ещë можно написать GUI-шную прогу, для просмотра подключенных компонентов и их методов. Ещë здорово было бы иметь возможность задавать параметры метода, и из этой же проги вызывать метод с заданными параметрами.

Такая софтина пользовалась бы спросом, особенно у новичков

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ещë можно написать GUI-шную прогу, для просмотра подключенных компонентов и их методов. Ещë здорово было бы иметь возможность задавать параметры метода, и из этой же проги вызывать метод с заданными параметрами.

Такая софтина пользовалась бы спросом, особенно у новичков

 

Казалось бы, причём тут команда lua... :P

  • Like 3

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Ещë можно написать GUI-шную прогу, для просмотра подключенных компонентов и их методов.

 

 

local forms=require("forms")
local gpu=require("component").gpu
local component = require("component")

local WinW, WinH = 80,25
gpu.setResolution(WinW,WinH)

mainForm=forms.addForm()

function lstCompsonChange(self,line,item)
  lstMembers:clear()
  local proxy = component.proxy(item)
  if proxy then
    for name, member in pairs(proxy) do
      lstMembers:insert(name,member)
    end  
  end
  lblAddr.caption=item
  lblAddr:redraw()
  lstMembersonChange(lstMembers,lstMembers.lines[1],lstMembers.items[1])
end

function lstMembersonChange(self,line,item)
  if type(item)=="number" then
    lblDescript.caption='number: '..item
  elseif type(item)=="string" then
    lblDescript.caption='string: "'..item..'"'
  else
    lblDescript.caption=tostring(item)
  end
  lblDescript:redraw()
end

lstComps=mainForm:addList(1,1,lstCompsonChange)
lstComps.W=WinW / 2
lstComps.H=15
lstComps:addLabel(3,1,"Components")

lstMembers=mainForm:addList(41,1,lstMembersonChange)
lstMembers.W=lstComps.W
lstMembers.H=lstComps.H
lstMembers:addLabel(3,1,"Members")

lblAddr=mainForm:addLabel(1,lstComps.H+1)

lblDescript=mainForm:addLabel(1,lblAddr.top+1)
lblDescript.autoSize=false
lblDescript.W=WinW
lblDescript.H=WinH-lblDescript.top-1

btnExit=mainForm:addButton(WinW-10,WinH,"Exit",forms.stop)

lstComps:clear()
for address, name in component.list() do lstComps:insert(name,address) end
lstCompsonChange(lstComps,lstComps.lines[1],lstComps.items[1])

forms.run(mainForm)
require("term").clear() 

Для запуска требуется библиотека forms

 

 

Изменено пользователем Zer0Galaxy
  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ещë как вариант, GUI-редактор для 3D-принтера, с возможностью сохранять в формате программы print3d из пакета OPPM.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ещë как вариант, GUI-редактор для 3D-принтера, с возможностью сохранять в формате программы print3d из пакета OPPM.

 

Можно упростить задачу, заюзав в качестве редактора Hologram Editor, и написав тулзу для экспорта голограмм в файлик 3D-модели для печати.

(И ещё немного упростить, если не писать всё с нуля, а портировать тулзу Крутого с JS на Lua)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можно упростить задачу, заюзав в качестве редактора Hologram Editor, и написав тулзу для экспорта голограмм в файлик 3D-модели для печати.

(И ещё немного упростить, если не писать всё с нуля, а портировать тулзу Крутого с JS на Lua)

 

Ещë как вариант, GUI-редактор для 3D-принтера, с возможностью сохранять в формате программы print3d из пакета OPPM.

Уже от ECS же есть редакторы

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А разве они не под его ось?

Jesus-facepalm.jpg

Изменено пользователем Saintmare

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А разве они не под его ось?

Это не OS! Это граф. оболочка

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Автор твердит что ОС, мне кажется ему виднее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Автор твердит что ОС, мне кажется ему виднее.

Сам великий Toroto подтвердил, что нет! Да и сам код тоже...

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Автор твердит что ОС, мне кажется ему виднее.

Нео, это ты? Кто в ирке со всеми кричал, что это не Ось? Изменено пользователем LuaGamer

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Нео, это ты? Кто в ирке со всеми кричал, что это не Ось?

псевдо-ос.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это не OS! Это граф. оболочка

Я в курсе, что это просто оболочка. Суть не в этом. А в том, что в свою ГРАФИЧЕСКУЮ ОБОЛОЧКУ он натыкал разных библиотек, без которых его софтина не работает. Получается, хочешь юзать его редактор, загрузи ещё и оболочку. А имел ввиду создать программу, которая  не привязана к другим ОСям или оболочкам.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я в курсе, что это просто оболочка. Суть не в этом. А в том, что в свою ГРАФИЧЕСКУЮ ОБОЛОЧКУ он натыкал разных библиотек, без которых его софтина не работает. Получается, хочешь юзать его редактор, загрузи ещё и оболочку. А имел ввиду создать программу, которая  не привязана к другим ОСям или оболочкам.

скачать отдельно библиотеки религия не позволяет ? :D

если лень - просто засунуть в автоскачивальщик скачивание всех компонентов, не лень - переписать и затолкать все в одну программу :D

Изменено пользователем Alex

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×