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

Doob

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

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

  • Посещение

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

    141

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

  1. Теперь другая проблема, стоит вообще сжимать? Можно же обойтись кодированием, т. к. сообщения передаются моментально. Сжатие и разжатие отнимают время.
  2. Doob

    Digital rain

    Да, я так и делал, но это замедляет процесс отрисовки в десятки раз, поэтому сделал чтобы только новые символы были 00FF00, остальные 008800, только из-за странных пустых символов теперь иногда замирают символы с лаймовым цветом. Хорошо было на CC, там нету вымышленных ограничений - можно каждые пол-секунды перерисовывать весь экран.
  3. Doob

    Digital rain

    Немного кривое и медлительное поделие в стиле дождя на мониторах в The Matrix. Ускорить никак не получается из-за отжирания времени циклами и ограничением производительности мониторов, можно воспользоваться библиотекой thread, но она иногда приводит к FATAL EГГОГ, который можно исправить только уничтожив жесткий диск. pastebin get Lsb5YMjg rain
  4. Формулы? sin(x)*y? Теорема Пифагора? Парабола тоже имеет высоту.
  5. Это очень странно, что в шапке темы, что в поделках... Можно же сделать проще и оригинальней. На монитор выводить только круг с ползунком - клик по кругу задает угол, по ползунку - дальность. Пушку поставить в центре круглой арены, вокруг арены кабинки с управляющими мониторами, сделать сбалансированное распределение выстрелов между игроками, чтобы можно было подсчитывать очки. Можно даже сделать рандомный рельеф, чтобы игрокам надо было подбирать дальность для точного попадания, как в минометах.
  6. Вообще-то маршрут вычисляется на основе пройденных комнат, а неопределенность это обычный рандом, поэтому лучше с правилами. В qCraft веселый юмор с неопределенностью - свойства объекта зависят от точки зрения, такое можно на дебаг-плате провернуть.
  7. Хотя, кроме тессерактов мне ничего не приходит в голову. Вот например возможные правила: Вся система в цикле меняет состояние по таймеру. 1. Состояние системы "запертые ячейки" - все тессеракты запираются, т.е. невозможно перемещаться между соседними просто пройдя через дверь. Если игрок идет через внешнюю дверь - его перекидывает в этом же тессеракте в куб расположенный напротив того куба из которого он попытался выйти. Побегав, игрок находит правило перехода из запертого тессеракта (например пробежав через все "внешние" кубы по одному разу, а в одном побывав два раза, игрок может перебросить себя в соседний тессеракт зайдя в правильную дверь) 2. Состояние системы - "сдвиг кубов" Т.к. для упрощения используются "стабилизированные" тессеракты - одновременно в трехмерное пространство проецируются только 7 кубов (восьмой смещен в подпространство) Во время сдвига кубов один куб уходит на место восьмого, а восьмой сдвигает остальные кубы, если игрок находится в смещаемом кубе, то его выбрасывает через n тессерактов в направлении смещенного куба в ближайший к исходному куб. 3. Состояние системы - "гиперсаязи" В это состоянии внешние двери связываются не с ближними тессерактами, а с дальними, через несколько штук (дальность связи меняется после каждого цикла системы в виде синусоиды) Внутренние же двери тоже перебрасывают через несколько кубов, но внутри исходного тессерката. Таких правил можно наплодить тысячами, но надо систематизировать, чтобы их можно было масштабировать процедурно.
  8. Хм, точно, четные строки - цвет текста, нечетные - цвет фона, в разных таблицах Пройтись в цикле параллельно по обоим таблицам устанавливая из них цвет фона и текста.
  9. Можно сделать и перемещение, только искажение перспективы будет мешать. У 1Ridav в QR генераторе есть отрисовка квадратных пикселей, но там битовый формат, чтобы его приспособить для цветного отображения надо потанцевать с разделением одного изображения на два - один на foreground, другой на background, пока не могу сообразить, как такое провернуть.
  10. Новая версия программы: pastebin get NxTSdH4G camAdv Выкинул поддержку железных мониторов, все-равно ничего не видно, сделал для алмазных мониторов два режима - оттенки серого и тепловой. Кнопочки: Z - увеличить зум, C - уменьшить Backspace - сбросить зум X - переход в тепловой режим Q - выход из программы.
  11. Первичные данные это числа с плавающей запятой, они округляются сразу, неважно, в цвета или индексы. Я сделал так, чтобы программа могла работать в качестве передатчика и приемника изображений с автоматической адаптацией под используемый монитор/видеокарту. Т.е. я могу запустить программу на компьютере с подключенной камерой и удаленно на таком же компьютере или роботе, все вычисления происходят там, а мне приходит готовое изображение. Схема такая - проверяем какое у нас разрешение, посылаем запрос на сканирование с таким разрешением и определенным набором цветов, изображение отрисовывается в строку, используются таблицы запрошенных цветов и отправляется на управляющий комп, на управляющем компе строка преобразуется в изображение. Собственно, саму строку можно пожать используя data card, либо библиотеку deflate.
  12. Вы ничего не понимаете, это чтобы не взломали)) http://computercraft.ru/topic/831-zaschischyonnye-soobscheniia-v-opencomputers/ Интересно.. мне Fingercomp предложил сделать проще: У меня есть набор из n цветов в разных таблицах, я для каждого цвета создаю индекс в виде одного символа, т.е. чтобы мне передать изображение алмазного монитора 160*50 - оно принимает вид 8 килобайт, но я использую квадратное окно, следовательно у меня абсолютный максимум для алмазного монитора = 4950 байт.
  13. Решил сделать для программы управления камерой супер-пупер сканирование тепловой карты высот, но возникла проблема с передачей цветных изображений, если кто-то сталкивался, было бы интересно узнать способ сжатия. Если дельных предложений не поступит - прикручу deflate на 18 килобайт.
  14. Когда курсор наведен на какой-нибудь блок, у этого блока появляется черная рамка, камера как раз эту рамку и высвечивает.
  15. Спасибо, я как раз ждал новую версию, а то в 13 новая текстурка только DataCard
  16. Добавил в шапку текстуры для Computronics
  17. Да, действительно, неполные блоки маленьким лучом можно довольно точно просветить. Саженцы выглядят почти как обычные блоки, а листва иногда полупрозрачна, стекло же, как ни странно - обычный блок, надо было камеру радаром назвать. Вот пример, как выглядит рычаг сбоку и спереди (сделал зум x5, чтобы влезло в монитор)
  18. Угу, только своими кривыми руками я GPS портировать не мог, а что есть уже готовое решение не знал, поэтому использовал то, что мне понятней. На бумаге мне легче начертить пару треугольников, чем сфер, решал задачу на бумаге, на реальных примерах.
  19. Это трилатерация, т.е. GPS API, а я использовал триангуляцию - брал угол из xz, брал угол из zy и переводил в расстояние, затем определял среднее арифметическое расстояния.
  20. Интересно... Триангуляция? Я пробовал - дрон делает круг, находит примерный вектор и летит к источнику сигнала... и промахивается даже при неподвижном источнике.
  21. До вайпа я пару часов бегал, чтобы найти кактусы для печатных плат, с тростником было по-проще, это как-раз для таких бедолаг. Пришел, попрыгал - получил печеньку, это же товарооборот, а не раздача)) После вайпа у меня только с медью проблемы, но это от того, что мне надоело копать, а так, тоже бы согласился скодить к кому-нибудь в гости - получить бесплатные ресы, которые нужны в крафте, но не выгодно строить ферму.
  22. Топорный алгоритм возвращения дрона по пингу. (как-нибудь по-красивей сделаю на gps api) В качестве примера прошивка дрона: Это запускаем в интерпретаторе планшета/компьютера, с которого управляем дроном: while true do component.modem.broadcast(43, 'PING') os.sleep(0.5) end Хм.. Забыл добавить 'PONG', чтобы не приходилось alt+ctrl+c, но я привычный))Дрону нужно много пространства для маневра (примерно 4x4 блока по всему пути движения), но зато он может корректировать курс, если игрок с планшетом движется. При помощи gps api будет выглядеть опрятней и дрон будет шнырять по-прямой, без лишних движений.
×
×
  • Создать...