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

Копилка идей

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

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

 

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

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


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

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

 

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

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


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


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

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


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

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

Задачи

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

 

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

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

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


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

 

 

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

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

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


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

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

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

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


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

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


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

 

 

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

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

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

 

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

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


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

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

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

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


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

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

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

 

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

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


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

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

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


Ссылка на сообщение
Поделиться на других сайтах
Ещë можно написать 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

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


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

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

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


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

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

 

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

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

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


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

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

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

 

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

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

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


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

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


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